文档章节

自定义控件一般步骤

A
 Angels_安杰
发布于 2015/10/18 22:05
字数 351
阅读 594
收藏 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
博文 138
码字总数 105958
作品 0
广州
程序员
私信 提问
iOS中的UITableView自定义Cell(模仿新浪微博)

定义一个KCStatusTableViewCell实现UITableViewCell,一般实现自定义UITableViewCell需要分为两步:第一初始化控件;第二设置数据,重新设置控件frame。原因就是自定义Cell一般无法固定高度,...

Dumplings
2016/05/23
138
0
iOS开发之代理设计模式

一、代理设计模式的作用: -当A对象要监听B对象的一些行为时,A成为B的代理; -当B对象要通知A对象一些事情时,A成为B的代理。 比如UIScrollView和UITableView,当控制器要监听scrollview的滚...

shenhuniurou
2016/03/21
38
0
android--------自定义控件 之 属性篇

上篇介绍了自定义控件的一个简单案例,本篇文章主要介绍如何给自定义控件自定义一些属性。 Android 中使用自定义属性的一般步骤: 定义declare-styleable,添加attr 使用TypedArray获取自定义...

切切歆语
2018/05/03
0
0
android--------自定义控件 之 方法篇

前面简单的讲述了Android中自定义控件的理论和流程图,今天通过代码来详细的讲解一下其中的方法 首先先创建一个类 CircularView 继承于 View,之后实现构造方法(初始化步骤) View的构造函数...

切切歆语
2018/05/01
0
0
android自定义渐变色圆角View

先看效果图: 4X~@W{D~3372R~S0{%1U`QG.png 分析这是线性渐变色,圆弧半径刚好是高度的一半,文字居中处理,大小,颜色可调 首先开始自定义控件的基本步骤 1、style自定义属性 注:原本我是想...

congge_666
2018/01/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

前嗅ForeSpider教程:采集黄页88

以黄页88为例,采集当前列表页新闻的正文数据: 第一步:新建任务 ①点击左上角“加号”新建任务,如图1: 【图1】 ②在弹窗里填写采集地址,任务名称,如图2: 【图2】 ③点击下一步,选择进...

forespider
14分钟前
1
0
Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0

昨晚Nacos社区发布了第一个生产级版本:0.8.0。由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为...

程序猿DD
22分钟前
1
0
HTML+CSS实现div的高度自适应填满剩余空间的7种方法

如图上下两部分,上面部分适应内容的高度,下面部分填充剩余部分。 当下面内容不够时,在下面部分出现滚动条 有2种情况 1.上面内容的高度适应内容,只有2种方法(flex、quirks+table) 2.上面...

linsk1998
26分钟前
1
0
Oracle学习日志-8(查询结果排序)

要用到的表如下 书上写到,上面的查询结果排序是随机的,再执行几次结果可能不同,但是我执行多次后,查询结果的排序都是如此,是因为oracle的默认处理方式是按照物理储存顺序查询的,而我在...

白话
32分钟前
1
0
Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column xxx

1. 错误提示 Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column xxx 2. 问题分析 从上面的描述我们可以看出原因是:我们给类型是datetime的xxx字段赋值0000-00......

易冥天
34分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部