文档章节

自定义控件一般步骤

A
 Angels_安杰
发布于 2015/10/18 22:05
字数 351
阅读 599
收藏 2

「深度学习福利」大神带你进阶工程师,立即查看>>>

自定义组合控件的过程

1.自定义一个View 一般来说,继承相对布局,或者线性布局  ViewGroup;  
2.实现父类的构造方法。一般来说,需要在构造方法里初始化自定义的布局文件;    
3.根据一些需要或者需求,定义一些API方法;

----------------------------------  
4.根据需要,自定义控件的属性,可以参照TextView属性;

5.自定义命名空间,例如:

使用eclipse需添加如下命名空间  
  xmlns:自定义名称=http://schemas.android.com/apk/res/《包名》

使用androidstudio开发时只能添加如下命名空间

xmlns:zaizai="http://schemas.android.com/apk/res-auto"


6.自定义我们的属性,在Res/values/attrs.xml

<?xml version="1.0" encoding="utf-8"?>  
<resources>

&#160;&#160;&#160; <declare-styleable name="TextView">  
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <attr name="mytitle" format="string" />  
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <attr name="desc_on" format="string" />  
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <attr name="desc_off" format="string" />  
&#160;&#160;&#160; </declare-styleable>

</resources>

7.使用我们自定义的属性  
例如:  
&#160;&#160;&#160;&#160;&#160;&#160;&#160; itheima:title="设置自动更新"  
&#160;&#160;&#160;&#160;&#160;&#160;&#160; itheima:desc_on="设置自动更新已经开启"  
&#160;&#160;&#160;&#160;&#160;&#160;&#160; itheima:desc_off="设置自动更新已经关闭"

8.在我们自定义控件的带有两个参数的构造方法里AttributeSet attrs 取出我们的属性值,关联自定义布局文件对应的控件;

A
粉丝 5
博文 158
码字总数 120167
作品 0
广州
程序员
私信 提问
加载中
请先登录后再评论。
浅入浅出Android(003):使用TextView类构造文本控件

基础: TextView是无法供编辑的。 当我们新建一个项目MyTextView时候,默认的布局(/res/layout/activity_main.xml)中已经有了一个TextView: <TextView 运行效果如下: 修改其文本内容...

樂天
2014/03/22
664
1
NSSplitView 扩展--DMSplitView

DMSplitView 对标准的 OS X 的 NSSplitView 控件进行改造,可满足更复杂的要求: 子视图的大小和约束 分隔条位置 可收缩伸展的子视图 动画变换效果 可控制分隔条的粗细和样式 可保存和恢复分...

匿名
2013/01/24
366
0
N简单CMS

N简单CMS能够让网站开发者更快速、灵活、简单的开发网站。 N简单CMS有以下特点: 更简单和自由的模板标签调用 专注于人性化的管理和操作 基于完全php5框架Kohana2.3.4开发 资源调用和消耗更低...

匿名
2013/02/26
3.2K
0
自定义表单系统--FormDesign

是基于 FLEX 开发的一款B/S的自定义表单系统 整个过程如下: 1、通过FormDesign自定义表单画出相应的表单; 2、将生成好的XML放到程序中,并通过后台自动编译成JSP; 注:FormDesing只是自定...

polliwog
2013/03/29
1.6W
1
图形化的 IDE--LiveCode

LiveCode是一个图形化的IDE,允许用户通过拖放控件并编写代码,来创建桌面或移动应用程序(支持Windows、Mac OS、Linux、iOS和Android平台)。LiveCode受苹果HyperCard的启发,采用一种基于英...

匿名
2013/04/12
7.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot如何返回页面

SpringBoot中使用Controller和页面的结合能够很好地实现用户的功能及页面数据的传递。但是在返回页面的时候竟然会出现404或者500的错误,我总结了一下如何实现页面的返回以及这里面所包含的坑...

osc_3re0wjem
38分钟前
0
0
怎样在Mac上创建和引导Linux USB驱动器

长期以来,Linux一直是可引导闪存驱动器的代名词,无论是要解决您的主操作系统中的某种问题,还是尝试各种发行版。 有几种方法可以为Mac创建Ubuntu(或其他Linux)可启动USB驱动器。您可以通...

Linux就该这么学
40分钟前
17
0
centos7 取消自动锁屏

CentOS取消屏幕保护自动锁屏功能 1. 问题:默认启动屏幕保护 问题描述: CentOS系统在用户闲置一段时间(默认为5分钟)后,会启动屏幕保护程序(默认的屏保为黑屏),并要求重新输入密码才能回到...

osc_rekhou81
40分钟前
9
0
C#中的[Flags]枚举属性是什么意思? - What does the [Flags] Enum Attribute mean in C#?

问题: From time to time I see an enum like the following: 我不时看到如下枚举: [Flags]public enum Options { None = 0, Option1 = 1, Option2 = 2, Option3 = ......

法国红酒甜
41分钟前
0
0
后缀三姐妹

目录 写在前面 前置小碎骨 计数排序 基数排序 一些约定: 后缀数组 定义 倍增法构造 优化 代码 再优化 最终代码 后缀树 后缀自动机 写在最后 绝对不咕 写在前面 会考虑整个与标题相关的二次创...

osc_9i00cx5n
41分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部