博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android第一行代码-6.自定义控件的实现
阅读量:6229 次
发布时间:2019-06-21

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

0.假设一个应用中标题栏控件都是共用的,如果每个activity都需要设置button,绑定方法,那代码就会很臃肿。那我们可以自定义控件,然后继承这个控件就行了。

自定义控件为TitleLayout,LayoutInflater.from(context).inflate(R.layout.title,this);可以实现动态加载。LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化的,类似于findViewById(),但是findViewById找的是xml布局文件下的具体widget控件(如Button、TextView等)。

 

1.控件实现

public class TitleLayout extends LinearLayout implements View.OnClickListener {    public TitleLayout(Context context,AttributeSet attrs) {        super(context, attrs);        LayoutInflater.from(context).inflate(R.layout.title,this);        Button titleBack = (Button) findViewById(R.id.title_back);        Button titleEdit = (Button) findViewById(R.id.title_edit);        titleBack.setOnClickListener(this);        titleEdit.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()){            case R.id.title_back:                ((Activity) getContext()).finish();                break;            case R.id.title_edit:                Toast.makeText(getContext(),"you click this button",Toast.LENGTH_SHORT).show();                break;        }    }}

 

2.控件引用

 

转载地址:http://knnna.baihongyu.com/

你可能感兴趣的文章
redis专题--slow log详解
查看>>
9-0-查找表-查找-第9章-《数据结构》课本源码-严蔚敏吴伟民版
查看>>
thinkphp整合系列之短信验证码、订单通知
查看>>
fsimage 和 edits log
查看>>
遍历json对象---Java
查看>>
Java反编译插件JadClipse
查看>>
从头开始搭建一个Spring boot+RabbitMQ环境
查看>>
bash编程 将一个目录里所有文件存为一个array 并分割为三等分——利用bash array切片...
查看>>
自己动手开发IOC容器
查看>>
hdparm
查看>>
[LeetCode] Best Time to Buy and Sell Stock
查看>>
jQuery学习之开篇
查看>>
jQuery上传插件Uploadify使用详解
查看>>
《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)
查看>>
css3-2 CSS3选择器和文本字体样式
查看>>
C++11学习
查看>>
【java】java工具类StringUtils,org.apache.commons.lang3.StringUtils
查看>>
WPF太阳、地球、月球运动轨迹模拟
查看>>
Getting Started with Scala
查看>>
curl != casperjs ? - Google Groups
查看>>