Android自定义SurfaceView类和一般控件的xml布局使用

Android视图组件View与SurfaceView的实战用法教程 本文还有配套的精品资源,点击获取 简介:在Android开发中,View和SurfaceView是基础的视图组件,本教程将详细解析它们的基本概念、使用方式及不同场景下的选择。通过实例代码,提供对View和SurfaceView绘制、动画、性能优化以及它们在复杂应用中的实际用法,包括自定义绘制和视频播放等。帮助开发者深入理解并有效运用这两个视图组件,优化应用性能和用户体验。 ... 阅读详情

项目需要在一个Activity中显示自定义的View和Android的Button等一般控件,之前使用的方法是在xml中只定义普通控件,然后用LayoutInflater生成View对象,

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View mainView = inflater.inflate(R.layout.main, null);

自定义的SurfaceView通过SurfaceView mView = new SurfaceView(this);实现,然后再动态创建布局容器,把两个View对象加进去并显示。但发现不管把自定义的SurfaceView宽和高设置的多大,SurfaceView都会把xml的布局给遮挡住,于是就采用把自定义的SurfaceView也定义在xml文件里,问题解决。但要注意的是在自定义的SurfaceView中必须生成public CameraView(Context context, AttributeSet attrs)两个参数的构造方法,因为第二个参数用来在生成对象时传递宽、高等一些属性,否则会抛异常。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    android:orientation="vertical" >


    <cn.zzti.ly.view.CameraView
        android:id="@+id/cameraView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />


    <TextView
        android:id="@+id/temperature"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:textColor="#ffffff" />


</LinearLayout>

在surfaceview上放置控件 在surfaceview上放置控件如按钮等,采用framelayout 立即下载

相关推荐

解决SurfaceView设置透明造成覆盖其他组件的替代方案

解决SurfaceView设置透明造成覆盖其他组件的替代方案,同时也实现了圆盘的功能

android xml surfaceview,Android – 在布局XML中使用自定义的SurfaceView

我有这个简单的布局:android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" >android:id="@+id/surfaceView1"android:layout_width="fill_parent"android:layout_height=...

weixin_39631467的博客 512

PHM算法与智能分析技术

PHM概述

柳杰的博客 1万+

列举一些Android中遇到的错误

1、音乐播放完成MediaPlayer的onCompletion没有被调用 原因可能如下: 不小心在onErrorListener返回true,根据源码可知返回true的话不调用onCompletion 使用单例类管理MediaPlayer的时候,完成播放没有调用该方法 2、ListView 多type类型出现Viewholder转换错误 原因可能如下: ListView加载不同布局时,需要...

张小头的博客 2028

Bootloader Design of PIC18 series MCU

注意:下列描述是在PIC单片机上启用Bootloader的一个相关知识的近似完备集。所有需要了解的,与bootloader与用户态程序交互的理论知识都已给出。包含内存组织,跳转,中断等必备功能的描述。

含光左卫的工作笔记集 1267

高通camera open代码流程(hal到kernel)

内容:简单介绍Camera open代码调用流程,从HAl到kernel。(api1+hal1) 前言 Android camera api和hal对应关系。安卓在版本更新过程中,camera相关代码也经历了几个版本的更新,表现为camera HAL版本更新(HAL1->HAL2->HAL3),camera API版本更新(camera API1->camera API2),接下...

oxoo123的专栏 4276

自定义视图 (四) SurfaceView 绘图

自定义视图 (四) SurfaceView 绘图

Hanyang Li的专栏 838

Windows 10/11 注册表 ProfileImagePath 误改修复:3步恢复用户登录与数据安全

本文详细介绍了Windows 10/11系统中因误改注册表ProfileImagePath键值导致用户无法登录的修复方法。通过3个关键步骤,包括定位SID、安全修复注册表项及验证处理,帮助用户恢复登录并保障数据安全。特别强调了操作顺序的重要性以避免数据丢失,适用于各类Windows用户账户登录错误的紧急处理。

chuoshao2508的博客 403

Android的SurfaceView使用

Android的大多数控件都是继承自View的,因此在自定义控件时一般也是继承View类,但是对于高效的,游戏级别的绘图,或者是播放器等要求比较高的地方,普通的View类就 有点吃不开了,这个时候就要用到SurfaceView类。 因为比较高级,所以就该装B,单纯一个继承

lanpy88的专栏 2215

解锁RK1126与SC132GS摄像头适配密码:技术与代码全解析

本文详细介绍了瑞芯微RK1126芯片与SC132GS摄像头的适配方法。首先分析了RK1126的四核Cortex-A7处理器、Mali-T860 GPU等硬件特性,以及SC132GS的130万像素、全局快门等技术参数。重点阐述了基于MIPI CSI接口的硬件连接原理和基于V4L2框架的软件驱动设计,并提供了完整的初始化、数据采集和图像处理代码实现。针对常见连接和图像质量问题给出了解决方案,展现了该组合在智能安防、工业检测等领域的应用潜力,为开发者提供了实用的技术参考。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1503

基于STM32、HAL库的MCP4651-503E/ST数字电位器驱动程序设计

@param channel: 通道 (0: A通道, 1: B通道)* @param channel: 通道 (0: A通道, 1: B通道)// SPI1 SCK/MISO/MOSI引脚配置。* @param hmcp: MCP4651句柄。* @param hmcp: MCP4651句柄。* @param hmcp: MCP4651句柄。* @param hmcp: MCP4651句柄。* @param hmcp: MCP4651句柄。* @param hspi: SPI句柄。

corlin6688的博客 137

Framelayout布局之SurfaceView与控…

在做Android课程项目的过程中,因为涉及到了游戏画图与Android自带控件(如Button,TextView等)在一个Activity中的结合使用,故,这里介绍一下将二者结合为一的作法。 网上有很多前辈已经有了不少的总结,这里,我就拿自己实际做的东西来演示一下,希望各位莫见笑。   1.SurfaceView相关知识简介 根据Android官方网站(http://developer.a

zanshiyonghuming的博客 3335

软考高级-系统架构设计师 知识点整理 (一篇就够了 建议收藏)

软考高级-系统架构设计师知识点整理---十万字总结,助你通过高级

片言可决讼,半纸能缚龙 7348

xml用到surfaceview控件 遇到unable to start activity componentInfo类问题

今天编写一个android加入surfaceview的问题,xml中的代码如下 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" andro

qiuchenl的专栏 6223

手把手教你学simulink(40.1)--水力发电场景示例:基于 Simulink 的抽水蓄能电站水力发电

项目背景抽水蓄能电站是一种重要的储能技术,广泛应用于电力系统的调峰填谷、频率调节和备用电源。它通过在电力负荷低谷时将水从下水库抽到上水库储存,在电力负荷高峰时释放水进行发电,从而实现电能的高效利用。与传统的水电站不同,抽水蓄能电站可以在短时间内快速响应电网的需求,具有良好的灵活性和可靠性。本项目旨在使用 MATLAB/Simulink 模拟一个完整的抽水蓄能电站的水力发电过程,包括水泵-涡轮机系统、发电机、水道系统、控制系统等,并实现对电站的精确控制,确保其在不同工况下都能稳定运行。

MHD0815的博客 886

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android布局之SurfaceView与控件结合

在做Android课程项目的过程中,因为涉及到了游戏画图与Android自带控件(如Button,TextView等)在一个Activity中的结合使用,故,这里介绍一下将二者结合为一的作法。 网上有很多前辈已经有了不少的总结,这里,我就拿自己实际做的东西来演示一下,希望各位莫见笑。   1.SurfaceView相关知识简介 根据Android官方网站(http://devel

cw19860701的专栏 6165

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android中在SurfaceView上高效绘图

Android的大多数控件都是继承自View的,因此在自定义控件时一般也是继承View类,但是对于高效的,游戏级别的绘图,或者是播放器等要求比较高的地方,普通的View类就有点吃不开了,这个时候就要用到SurfaceView类。     因为比较高级,所以就该装B,单纯一个继承自SurfaceView类是不行的,必须实现一个SurfaceHolder.Callback接口来指明Surfa

anzhu_111的专栏 1101

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Android布局之SurfaceView

Android的大多数控件都是继承自View的,因此在自定义控件时一般也是继承View类,但是对于高效的,游戏级别的绘图,或者是播放器等要求比较高的地方,普通的View类就 有点吃不开了,这个时候就要用到SurfaceView类。 因为比较高级,所以就该装B,单纯一个继承自SurfaceView类是不行的,必须实现一个SurfaceHolder.Callback接口来指明SurfaceView

helwens的专栏 1647

android 制作自定义控件,android图像绘制(四)自定义一个SurfaceView控件

自定义控件(类似按钮等)的使用,自定义一个SurfaceView。如某一块的动态图(自定义相应),或者类似UC浏览器下面的工具栏。如下图示例:自定义类代码:public class ImageSurfaceView extends SurfaceView implements Callback{//用于控制SurfaceViewprivate SurfaceHolder sfh;private ...

weixin_39620334的博客 247

Android中使用MediaPlayer类和SurfaceView播放视频

这是个简单的例子复制就能运行,都是将基本功能,要写的复杂点要对mediaplayer深入了解 效果 项目结构 视频的资源放在res---->raw------>xiaopingguo.mp4 布局     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent

翟浩浩Android专栏 2508

android 自定义Camera控件

简单实现Camera自定义控件: 效果图: 具体代码解释在代码中有记录,主要代码如下: 先看下布局文件: activity_camera.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.an

zhangqufa的博客 681

从0到1Android自定义View(二)分类和核心函数

一、前言这篇主要还是介绍一些知识点,包括上一篇的知识点在内,我们都是需要理解,只有这样,才能更好的制作更多酷炫的自定义 View 。当然每一篇文章都会越来越深入,一步一个台阶,慢慢攀登。二、自定义 View 分类从0到1Android自定义View(二)分类和核心函数 组合控件通过 Android 的基础控件(TextView、ImageView、Button、ProgressBar 等)组合而成

GitHubClub 3241

android_SurfaceView 画图

有这样一种view类,可以让人在其上面画动画,画图片,它的全名叫做surfaceview。名称就包含两层意思,一层是surface,一层是view。前一层提供一个面可以让人画画,后一层是个view,可以将画画显示出来。 一般view类也有个draw方法,但是不能用来画画。上网找了很多资料,说的啰嗦,都没有说明白。我总结了下,其实网上说的意思是,主线程,也就是跑activity活动的线程...

dichen3940的博客 219

SurfaceView Overlay研究

<br />在项目中需要实现这样的功能,SurfaceView提供绘图功能,同时在上面还要求能够绘制控件。上网搜索了一番资料,无意中看到ApiDemos中的SurfaceView Overlay例子,发现这正是我所需要的。看看SurfaceView Overlay的布局文件:<br /><br /><!-- Here is where we put the SurfaceView, in a frame so that we can<br />         stack other views on to

K.I.S.S - Keep It Simple, Stupid 5244

Android自定义View面试完全指南:从原理到实践

想要在Android面试中脱颖而出吗?掌握自定义View技术是每个高级Android开发者必备的核心技能!🎯 这篇终极指南将带你从基础原理到实战应用,全面掌握Android自定义View的面试要点,让你在面试中游刃有余。 自定义View是Android开发中的重要组成部分,它不仅能提升应用的用户体验,更是衡量开发者技术水平的关键指标。无论是简单的按钮定制,还是复杂的图表绘制,自定义View都扮

gitblog_01177的博客 1153
上一篇: Android中Activity多页滑动切换效果(使用ViewFlipper)
下一篇: Java中Socket连接超时问题
IDTC
博客等级 码龄15年 22粉丝 41原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值