android自定义组合控件

Android View体系(十)自定义组合控件 上一篇我们讲到了自定义View,接着我们来讲讲常用的自定义组合控件,自定义组合控件就是多个控件组合起来成为一个新的控件,主要用来解决多次重复的使用同一类型的布局。比如我们应用的顶部的标题栏,还有弹出的固定样式的dialog,这些都是常用的,所以把他们所需要的控件组合起来重新定义成一个新的控件。 阅读详情

自定义组合控件可以实现布局的复用。可以将相同的组合布局写成一个自己的控件。方便自己在布局文件中使用


首先建立一个类。继承一个布局,比如RelativeLayout

然后在系统调用的构造方法里面初始化控件。

初始化控件:

首先用inflate填充生成一个View。然后增加View的控件,最后使用Viewgrouo的addView的方法添加View。

在布局文件中写上上面那个类的全路径就ok了。

现在就可以运行了。


那么如何改变控件的属性呢?

总之不能在初始化控件后直接把属性给写死。因为我们需要复用,写死就无法服用了。

可以在使用我们这个自定义组合空间的时候给自定义组合空间赋值。

这就需要自己创建一个可以在布局文件中定义属性的功能了。

步骤一,在values文件夹下新建一个名为attrs。xml的resource文件。

步骤二,

参考以下attrs。xml的格式。首先有一个resources根节点。在后面定义一个    <declare-styleable name="item">。然后定义属性。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="item">
        <attr name="title" format="string" />
    </declare-styleable>

</resources>

步骤三。定义完成后在使用自定义组合控件的时候就可以使用了

在使用前加上命名空间。

命名空间可以随便写,但是最好使用以下规范:

xmlns:item="http://schemas.android.com/apk/res/包名"

item:title=”似懂非懂是“

定义完成后使用构造函数中的AttributeSet就可以获取刚刚输入的属性了

【安卓自定义控件系列】安卓自定义控件之组合控件 在安卓开发中,谷歌已经为我们提供了许多原生控件,基本上能够满足我们日常的开发需求,但是某些项目中原生控件可能达不到产品所要求的各式各样的酷炫效果或功能效果,这个时候我们只能自己自定义控件来满足项目需求,我们知道自定义控件包括三种方式: 1继承控件,即继承谷歌提供的原生控件,在此基础上提供一些原生控件不具备的功能,如github上各种酷炫效果的开源组件基本上都是采用的这种方式. 2组合控件:即组 阅读详情

相关推荐

Android Studio自定义组合控件

Android Studio自定义组合控件在Android的开发中,为了能够服用代码,会把有一定共有特点的控件组合在一起定义成一个自定义组合控件。 本文就详细讲述这一过程。虽然这样的View的组合有一个粒度的问题。粒度太大了无法复用,粒度太小了又 达不到很好的复用的效果。不过,这些不在本文的讨论范围,需要读者自己去开发的实践中体会。实例项目就选择一个登录注册的组件,这组件包括用户名、密码的文本输

future_challenger的专栏 4807

android UI进阶之自定义组合控件

好久没写博客了。实在是忙不过来,不过再不总结总结真的不行了。慢慢来吧,有好多需要去总结的,博客里还是记录ui方面的。 今天和大家分享下组合控件的使用。很多时候android自定义控件并不能满足需求,如何做呢?很多方法,可以自己绘制一个,可以通过继承基础控件来重写某些环节,当然也可以将控件组合成一个新控件,这也是最方便的一个方法。今天就来介绍下如何使用组合控件,将通过两个实例来介绍。 第一个实现...

weixin_30907523的博客 163

Android_studio自定义组合控件

自定义组合控件,可以完成各种复杂的界面布局与效果

qq_64353584的博客 2788

Android 自定义控件之组合控件

一、前言        最近做一个项目又一次用到类似像微信一样的标题栏,之前就实现过一次,但是几个月没有用了,就忘记了,导致这次再次使用却调了大半天才完成。因此,写下这篇文章记录下来,同时再一次巩固自己的理解。        这回使用的Android的自定义控件中的组合控件。二、自定义组合控件原理        项目中经常会遇见很多相似或者相同的布局,比如APP的标题栏,通过将这些布局抽取出来,放...

gd6321374的专栏 1万+

Android自定义View初探——自定义组合控件

声明: 本文章例子来源于bilibili 程序猿拉大锯 本文章主要是自己的一些知识点理解,记录自己的学习 自己的感悟: 自己从19年的下半年就开始第一次接触自定义View的内容,期间也断断续续看过一些视频,也自己亲手做过一些小的demo啊等等,最终却都是以失败告终,可能是网上的关于自定义View的内容很乱也没有一个很完整的一套流程,也可能是自己当时比较浮躁,看一些知识点时都是大眼一看,就觉得自己会了,等到真正操作起来却又手忙脚乱,无从下手的感觉。知识嘛,肯定是多多益善,毕竟也是跟我们的薪资有着直接关系的,

yuhang01的博客 904

Android自定义View——再探自定义组合控件

这里写目录标题声明1.继承自父容器2.定义获取相关属性->res/values/attrs3.把子view加载进来4.定义功能接口 interface5.暴露点击事件供外部实现 声明 本文章例子来源于bilibili up 程序猿拉大锯 本文章主要是自己对于一些知识点理解算是总结吧,记录自己的学习 本专栏不会进行收费,所有文章都会设置成试读,请各位读者放心,设置收费专栏是为了让更多的人看到此专栏 ok ,根据上篇文章你肯定对自定义组合控件算是有了一定的理解了,为了加深记忆,这里再上一个有关自定义组合控

yuhang01的博客 758

android自定义控件(五) 自定义组合控件

转自http://www.cnblogs.com/hdjjun/archive/2011/10/12/2209467.html 代码为自己编写 目标:实现textview和ImageButton组合,可以通过Xml设置自定义控件的属性。        通过代码或者通过xml设置自定义控件的属性 1.控件布局:以Linearlayout为根布局,一个TextView,一个ImageButton

ethan_xue的专栏 6万+

用友u8服务器优化,用友U8erp软件运行的性能优化方案图文教程

今天一定要给大家分享一下用友U8erp软件运行的性能优化方案图文教程,以下方案来自用友软件官方维护工程师反馈在在处理客户问题的时候,有一类问题较为挠头,就是诸如用友U8服务器效率低下的问题。比如用友U8运行慢,卡住等,我们暂先不提用友U8软件代码、脚本层面本身的性能提升问题,我们只是基于现有用友U8软件版本,在客户现有环境下排查用友U8软件运行的性能瓶颈,并采取一定的技术手段进行性能调校。本文将推...

weixin_39882870的博客 5306

自定义组合控件

创建组合控件通常要继承ViewGroup,我们一般会给它指定一些可配置的属性,让它具有更强的扩展性。 自定义一个如下图所示的组合控件:                                             该控件有三个部分组成,左边和右边是一个Button,中间是一个TextView,并为该控件添加监听事件。 1.定义属性,在res的Values目录下创建一个att

香蕉你个不呐呐的博客 1320

深度学习简介(框架)

深度学习是一种基于人工神经网络的机器学习方法,它通过模拟人脑的工作原理来解决复杂的数据模式识别问题。这种方法在图像识别、语音识别、自然语言处理等领域取得了显著的进展。深度学习是机器学习的一个子领域,它基于人工神经网络的学习算法,特别是那些具有多层(深层)结构的网络。这些深度神经网络能够学习数据的高级特征和模式。深度学习作为人工智能的关键驱动技术,已经在多个领域展现出其强大的能力。随着研究的深入和技术的发展,深度学习将继续推动人工智能的边界向前发展。

2301_77539454的博客 5351

用ESP32和HomeSpan自制HomeKit智能灯,手把手教你从零接入苹果家庭App

本文详细介绍了如何使用ESP32开发板和HomeSpan开源库自制原生HomeKit智能灯,从硬件搭建到软件配置,再到通过苹果家庭App控制的全过程。项目绕过了苹果MFi认证,成本低廉但功能完整,支持Siri语音控制、自动化场景等高级功能,是智能家居DIY的实用指南。

weixin_28717431的博客 321

Android自定义控件之自定义组合控件

使用自定义组合控件的好处? 提高布局文件开发效率 降低布局文件维护成本 降低布局文件和Activity代码耦合性 容易扩展 简单易用 如何实现一个自定义组合控件 1.)先定义一个布局文件 <merge xmlns:android="http://schemas.android.com/apk/res/android"> <Button a...

这个男孩不简单的博客 1097

VS2015+Qt+OpenCV+open62541开发过程(05_VS2015中使用OPCUA open62541通过Kepware读写PLC数据)

此外还需要所需lib包:WS2_32.Lib(opcua通讯用到的库,opcua使用socket通讯,需使用此库),添加#pragma comment(lib,"ws2_32.lib") 语句,有的文章说需要添加ws2_32.lib文件或ws2_32.dll到项目资源中,貌似影响不大。2.在VS中选择x64平台会报错,选择x86平台可以用,应该是ws2_32.lib相关的库不支持64位,目前没有解决,继续后面的实验,看看用Qt后是否可以解决。6.VS中建立的变量,与读取的OPC点数据类型注意对应。

zzh17的博客 1862

android 原理 组合控件_Android 自定义组合控件小结

Android 自定义组合控件小结引言接触Android UI开发的这段时间以来,对自定义组合控件有了一定的了解,为此小结一下,本文小结内容主要讨论的是如何使用Android SDK提供的布局和控件组成一个功能完整组合控件并将其封装为面向对象的类,而并非讨论如何继承自SDK提供的控件类(比如TextView),对其进行自定义扩展的问题。进入正题前,我们先来看一组功能需求 假设在手机需求上,那么如...

weixin_39564524的博客 205

【UV打印机】PrintExp打印软件教程(二)-主界面介绍

PrintExp软件主界面如下图所示PrintExp软件的主界面主要包括主菜单区,工具栏区,界面显示区,状态栏。以下是上述部分的介绍。

Print World的专栏 6299

把 300 亿参数的 Qwen3-30B-A3B 塞进 16GB 手机:MoE、mmap 与内存轮转的完整拆解

这篇文章详细拆解了如何在16GB内存手机上运行305亿参数的Qwen3-30B-A3B大模型。作者通过MoE(专家混合)架构、内存映射(mmap)和专用NPU内存(rpcmem)的巧妙结合实现了这一"不可能"的任务。 核心原理在于:MoE模型将庞大的前馈网络拆分为128个专家,每个词只激活8个专家,97%的权重处于闲置状态;通过mmap技术按需加载当前需要的专家权重;同时利用NPU专用内存高效计算关键部分。三个关键开关(GGML_HEXAGON_MOE_PAGING=1、--mmap、GGML_CPU_RE

q742971636的博客 186

Android自定义组合控件

/用于Java文件中的构造函数//用于XML布局文件中的构造函数//获取属性值//回收获取自定义控件属性值以后一定要回收TypedArray//用于Java文件中的构造函数//用于XML布局文件中的构造函数。

m0_57150356的博客 827

基于STM32的太阳能充电宝设计_资料编号31

系统硬件包括主控 STM32F103C8T6、0.96 OLED 显示屏、蜂鸣器、电源自锁开关、温度传感器 DS18B20、继电器、5 V DC 升压模块 、TB4056、18650锂电池、9 V太阳能板、稳压降压 5 V三极管。电源供应:锂电池为系统供电,9 伏太阳能板经 5 伏降压稳压三极管降压为 5 伏后传送到 TP4056,TP4056 为锂电池供电,因锂电池电压 3.7 伏,通过 5 伏 DC 升压模块升压到 5 伏为整个系统提供 5 伏电压。

嵌入式阿齐Archie 1万+

android 原理 组合控件_android自定义控件及自定义组合控件

一、构建自定义控件构建自定义组件你的应用程序就是这些控制组件和布局组件以某种方式结合显示在屏幕上,一般来说这些组件对你来说基本够用,但是你也应该知道你是可以通过类继承创建属于自己的组件,一般可以继承像View、Layouts(布局组件)这样的组件,甚至可以是一些比较高级的控制类组件。下面我们说一下为什么要继承:·你可以为实现某种功能创建一个完全自定义风格的组件,例如用二维的图形创...

weixin_39724266的博客 333

汽车UDS诊断详解及Vector相关工具链使用说明——1.1 应用层协议整体介绍

本文我们先从整体的维度来介绍一下应用层协议,每个UDS服务都遵循本文中的协议。 一、SI(Service ID) SI是UDS指令的第一个字节,我们第一篇文章中提到的10等服务就是指这个服务的SI=0x10,它是服务的标识,每个服务的SI都是唯一的。 ...

weixin_42967006的博客 5474

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android自定义组合控件设置事件,自定义组合控件,事件传递响应规则

自定义组合控件当系统提供的控件,不足以满足我们开发需求时,可以通过自定义控件来实现更好的效果。组合控件的实现步骤1. 先设定组合控件的布局xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"a...

weixin_32321921的博客 335

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 原理 组合控件_Android自定义控件之自定义组合控件

前言:前两篇介绍了自定义控件的基础原理Android自定义控件之基本原理(一)、自定义属性Android自定义控件之自定义属性(二)。今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发成本,以及维护成本。自定义控件相关文章地址:使用自定义组合控件的好处?我们在项目开发中经常会遇见很多相似或者相同的布局,比如APP的标题栏,我们从三种方式实现标题栏来对比自定义组件带来的好处,毕竟好的东...

weixin_39748183的博客 159

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android中自定义组合控件

转自http://www.cnblogs.com/ivan-xu/p/4545929.html Android中自定义控件的情况非常多,一般自定义控件可以分为两种:继承控件及组合控件。前者是通过继承View或其子类,重写方法实现自定义的显示及事件处理方式;后者是通过组合已有的控件,来实现结构的简化和代码的重用。 本篇文章主要介绍自定义组合控件,继承控件后续有机会再述。 自定义组合控件一般

seashine_yan的博客 316

android 自定义组合控件

项目中要用到一个界面 是在一个圆上 ,或者一个圆形矩形上显示数字 ,于是用到了组合控件,其实也和简单的东西 布局如下     android:layout_width="match_parent"     android:layout_height="match_parent" >             android:layout_width="wrap_content

u011979273的专栏 500
explore555
博客等级 码龄15年 0粉丝 1原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值