博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义视图(组合控件)
阅读量:6103 次
发布时间:2019-06-20

本文共 1140 字,大约阅读时间需要 3 分钟。

前言

  Android自定义控件主要分为两种,一种是通过继承View来实现自定义控件,另一种是通过组合已有到控件来实现自定义控件,上篇文章我们介绍了下继承View到方式,这篇文章简单介绍下组合控件来实现自定义控件。
  有些情况我们需要通过组合已有到控件来实现特定功能到控件组建,比如一个应用到题头,大概样式如下
    

Java代码

  通过组合控件来实现自定义控件到方式,是通过继承一个ViewGrou对象来实现,比如LinearLayout, FrameLayout, RelativeLayout,等等,简单实现如下所示

  

1 public class CombinView extends RelativeLayout { 2  3     public CombinView(Context context, AttributeSet attrs) { 4         super(context, attrs); 5         LayoutInflater inflater = (LayoutInflater)context.getSystemService    (Context.LAYOUT_INFLATER_SERVICE); 6         RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.custom_view,this); 7  8     } 9 10 }

 

  其中需要注意到是RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.custom_view,this);方法,第二个参数this,用来表明inflate出来到layout添加到当前对象

custom_view.xml

  下面一段代码就是自定义视图的布局文件内容,没有什么特别的,如下所示

  

1 
2
5 6
11 12
17 18
21 22
27
28 29

后记

  这样的话,一个简单的组合自定义视图就实现完成了,这篇和上篇文章介绍了自定义视图的一些东西,虽然我们实现了自定义控件,但是还有一点没有提到,就是如何给自己的控件定制自己的属性,有了自己的属性才算完整,在下篇会简单介绍下自定义属性的一些东西。

原文地址:

 

转载于:https://www.cnblogs.com/luoaz/p/3983674.html

你可能感兴趣的文章
D Thanking-Bear magic
查看>>
一天一个设计模式(13)——命令模式
查看>>
比较全的表单提交页面对电话邮箱判断
查看>>
Ubuntu SVN客户端安装
查看>>
PAT 1078 Hashing[一般][二次探查法]
查看>>
Vue与Element走过的坑。。。。带上Axios
查看>>
Steps to developing Metro style apps 第一章-Creat a UI(2)(2)
查看>>
Struts2_day01--导入源文件_Struts2的执行过程_查看源代码
查看>>
【转】高效使用 SSH 的 16 个技巧
查看>>
RedHat 6.2 中的 samba 服务端配置 方法
查看>>
leetcode70
查看>>
leetcode1086
查看>>
062——VUE中vue-router之命名视图的实例
查看>>
把Linux安装到移动硬盘上
查看>>
豆瓣即将上映电影爬虫作业
查看>>
jQuery在多个div中,删除指定项
查看>>
Interface Builder 窗口操作
查看>>
Python深度学习案例2--新闻分类(多分类问题)
查看>>
02-Nginx+MySQL+PHP7
查看>>
centos6.3部署配置LVS主从
查看>>