Android开发——CustomView(扩展视图、组合视图)

Android开发——CustomView(扩展视图、组合视图)

自定义View:
    扩展控件。
对控件已有功能的一个扩展,使其适应项目需求
         例子:
可以下载图片的自定义
ImageView
1.继承ImageView
2.添加下载功能
效果图:
Android开发——CustomView(扩展视图、组合视图)_第1张图片

 自定义属性:
1.values文件夹下面的任意文件里面
声明一个属性:
declare-styleable
这个属性,就是自定义属性集合,里面可以放多个属性。
有一个
name,需要设置为自定义View的名字
2.declare-styleable里面,声明控件需要的属性:

有多种属性,按需求选择
3.在布局文件中使用:
需要自己添加,命名控件:
xmlns:xxxxx="http://schemas.android.com/apk/res-auto"

在对应的控件里面,设置自定义的属性:
xxxxx.attrname=""即可使用

4.获取到自定义属性的值:
context.obtainStyleAttributes(attrs,R.styleable.属性集合的名字);
typeArray里面保存了你声明的属性的值
typeArray.get...(R.styleable.属性结合的名字_属性的名字[,defValue]);
自定义View实现购物车的加减功能:
 设计思路:
                              (1)继承线性布局
                              (2)添加自己需要的控件(2个ImageButton,1个EditText)
                              (3)处理相应的点击事件

                               效果图:
Android开发——CustomView(扩展视图、组合视图)_第2张图片
自定义View实现流式布局:(热门标签、搜索历史等)

                    效果图:
 
 设计思路:
                              (1)继承ViewGoup
                              (2)onMeasure()方法中测量宽高,测量子View的宽高,设定自己的宽高
                              (3)onLayout()摆放子控件的位置
源码稍后放出:

你可能感兴趣的:(Android开发)