应用程序中的每个窗口,对应本地代码中的Surface,而Surface又对应 于SurfaceFlinger中的各个Layer,SurfaceFlinger的主要作用是为这些Layer申请内存,根据应用程序的请求管理这些 Layer显示、隐藏、重画等操作,最终由SurfaceFlinger把所有的Layer组合到一起,显示到显示器上。一、Surface的创建过程: 请看如下序
转载 2023-10-31 19:54:44
198阅读
相机预览问题通过SurfaceView,TextureView,GlSurfaceView显示相机预览显示相机预览内容是每个相机类应用都会包含的功能,想要完美实现这个却并非易事。原因是,在某些特别极端情况下 camera2 API 的使用会变得很复杂,而且在不同设备上的行为还会有所不同。还好, Jetpack CameraX 库 的 PreviewView 可以帮助您解决这一问题。通过在各种 An
转载 2023-10-20 16:56:19
343阅读
## Android自定义边框实现流程 下面是实现"Android自定义边框"的流程图: ```mermaid flowchart TD 1.准备工作 --> 2.创建自定义边框的类 2.创建自定义边框的类 --> 3.重写onDraw方法 3.重写onDraw方法 --> 4.设置边框颜色和宽度 4.设置边框颜色和宽度 --> 5.使用自定义边框的控件 ```
原创 2024-01-31 04:43:36
98阅读
# Android SurfaceView自定义View ## 简介 在Android中,我们可以通过自定义View来实现各种各样的用户界面效果。其中,SurfaceView是一种特殊的View,它可以在一个单独的线程中进行绘图操作。相比于普通的View,SurfaceView可以更高效地实现动画效果,因为它可以在后台线程中进行绘图操作,不会阻塞UI线程。 本文将介绍如何使用SurfaceV
原创 2023-08-13 04:05:25
301阅读
当测量好一个View之后,我们就可以简单地重写onDraw()方法,并在Canvas对象上来绘制所需要的图像。首先我们来了解一下利用系统2D绘图API所必须使用到的Canvas对象。要想在Android的界面中绘制相应的图像,就必须在Canvas上进行绘制,Canvas就像画图工具中的一个画板,使用Paint就可以在上面作画了,通常需要通过继承View并重写它的onDraw()方法来完成绘图。通常
转载 2024-04-07 15:02:35
54阅读
# Android SurfaceView 自定义相机 onPause 在Android开发中,有时候需要自定义相机功能以满足特定需求。而SurfaceView是用于在Android应用中绘制2D图形的一个重要类。SurfaceView可以在一个独立的线程中进行绘制,不会阻塞主线程,因此非常适合用来实现相机预览功能。然而,当应用进入后台或用户切换到其他应用时,需要正确处理SurfaceView
原创 2024-01-26 12:33:03
110阅读
我个人不费话,内容如题,以下是代码:package com.puppet.custom.component;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.widget.Ed
原创 2011-03-17 11:02:06
7204阅读
2点赞
2评论
一、Surface    Surface在SDK的文档中的描述是这样的:Handle onto a raw buffer that is being managed by the screen compositor,Android中的Surface就是一个用来画图形(graphics)或图像(image)的地方,对于View及其子类,都是画在Surface上,各Sur
# Android自定义边框输入 在Android应用开发中,经常会遇到需要自定义边框的输入框的需求。比如登录界面中的账号密码输入框,我们希望它们具有不同的边框样式,以增加界面的美观度和用户体验。本文将介绍如何使用Android提供的功能,结合代码示例,实现自定义边框输入框。 ## 实现思路 我们可以通过自定义View或者使用已有的View进行扩展来实现自定义边框输入框。在本文中,我们将以自
原创 2024-01-28 10:35:48
97阅读
**1.surfaceView与View的区别** View通过刷新来重绘视图,Android系统通过发出VSYNC信号来进行屏幕的重绘,刷新时间间隔为16ms。如果16ms内View完成了需要执行的所有操作,不会在视觉上出现卡顿的感觉,反之,则会出现。 surfaceView的出现就是解决这个问题。 surefaceView和Viewde 区别: (1)View主要适用于主动更新的情况下
转载 2023-12-03 13:38:25
27阅读
公司一直在做一款好玩的应用名叫Funny, 是一个以萌和可爱为主的图片社区,P图工具(欢迎大家下载玩耍哈),刚开始调用的相机是调用系统的相机, 这肯定不能满足一款应用的需求,So我开始了从零的自定义相机,发现github csdn等等上面关于自定义相机的资料不是很多,当然也有比较好的,这里我也是从开始能预览到后面的一些细节处理踩了一些坑,我会一步一步的分享粗来下面就开始从头开始做个自己的相机吧。获
转载 2023-08-28 08:23:05
188阅读
文章目录一、自定义 View 组件 ( Java )二、自定义 View 组件 ( Kotlin )三、自定义 SurfaceView 组件 ( Java )四、自
原创 2022-03-09 09:31:14
3891阅读
之前写了几篇文章来分析Android的窗口机制,我们知道不管什么窗口最终都会通过WMS的addWindow方法进行添加,这个方法中会为每一个符合要求的窗口创建一个WindowState用来描述,今天要分析的就是这些窗口创建好了之后和surfaceFlinger进程建立连接的过程直接从WMS的addWindow方法开始WMS.addWindowpublic int addWindow(Session
转载 2024-08-06 20:10:06
45阅读
## Android 自定义圆角边框布局 在Android应用开发中,经常会遇到需要自定义View的情况,其中一个常见需求就是给View添加圆角边框。本文将介绍如何在Android中实现自定义圆角边框布局,并提供代码示例。 ### 实现思路 要实现自定义圆角边框布局,我们可以通过自定义View的方式来实现。具体思路如下: 1. 继承ViewGroup类,创建一个自定义布局类。 2. 在该类
原创 2024-04-19 03:55:26
103阅读
【代码】android 自定义边框圆形头像。
原创 2024-05-16 15:40:15
67阅读
# Android TextView 自定义边框背景 在Android开发中,TextView是常用的控件之一。它用于显示文本内容,但默认情况下,TextView的背景是透明的,并没有边框。然而,有时候我们需要自定义TextView的边框背景,以便更好地展示文本内容。本文将介绍如何通过自定义Drawable来实现TextView的边框背景,并提供代码示例。 ## 自定义Drawable 要自
原创 2024-01-07 05:58:03
262阅读
在这个快节奏的时代,什么都要讲求快捷,那么什么是快捷呢,就是要速度快,效率高,用单反相机的朋友一定都知道,一些老旧款式的单反相机没有WIFI传输功能,生成的图片只能通过USB在电脑上进行导出,非常的不便捷,而且还有一个问题可能也碰到过,那就是面对拍摄全家福的时候,有的朋友可能需要开启定时拍摄才能完成,所以非常的麻烦,而作为数码达人的笔者来说,怎么能忍,所以最近笔者入手了一款“黑科技”
Android自定义View画边框 作为一名经验丰富的开发者,我将教会你如何实现在Android自定义View画边框。下面是整个实现的流程: ```mermaid flowchart TD A(开始) B(创建自定义View) C(重写onDraw方法) D(绘制边框) E(结束) A --> B --> C --> D --> E ```
原创 2023-12-23 03:28:18
163阅读
小伙伴们好啊,今天小编和大家分享的是一组表格美化技巧。一个高质量的Excel文档,除了应具备数据准确、易读等特性,还应该有合理的布局结构、清新的色彩搭配以及整洁清晰的版面。这样才能提高数据的展现能力,提升Excel文档的品质感。Excel技巧的文章多之又多,但是有关表格美化的分享却寥寥无几。下面老祝就以自己的经验,说说如何让咱们的报表颜值再高一点点。第一招  Excel自带模板Excel
# 使用SurfaceView自定义进度条实现教程 ## 引言 本篇教程将教会你如何使用AndroidSurfaceView自定义一个进度条。SurfaceView是一个强大的工具,它允许我们在屏幕上进行绘制和动画,因此非常适合用于实现自定义的进度条。 在本教程中,我将指导你完成整个过程,并提供每一步所需的代码和注释。下面是整个实现过程的流程,我们将逐步进行。 ## 实现流程 使用Sur
原创 2023-08-18 12:34:22
272阅读
  • 1
  • 2
  • 3
  • 4
  • 5