创建自定义标题布局控件
来源:互联网 发布:pr是什么意思网络语言 编辑:程序博客网 时间:2024/04/29 17:11
引入布局的技巧确实解决了重复编写布局代码的问题,但是如果布局中有一些控件要求能够响应事件,我们还是需要在每个活动中为这些控件单独编写一次事件注册的代码。比如标题栏中的返回按钮,其实不管在哪一个活动中,这个按钮的功能都是相同的,即销毁掉当前活动。而如果在每一个活动中都需要重新注册一遍返回按钮的点击事件,无疑又是增加了很多重复的代码,这种情况最好是使用自定义控件的方式来解决。
layout_title.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#0000ff"
>
<ImageView
android:id="@+id/iv_title_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/layout_title_selector"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center"
android:text="@string/single_model"
android:textSize="20sp"
android:textColor="#ffffff" />
</RelativeLayout>
自定义控件
public class TitleLayout extends RelativeLayout {
public TitleLayout(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater.from(context).inflate(R.layout.layout_title, this);
ImageView back = (ImageView) findViewById(R.id.iv_title_back);
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
((Activity)getContext()).finish();
}
});
}
}
引用自定义布局控件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.zy.tiger.activity.TitleLayout
android:id="@+id/tl_single_title"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</com.zy.tiger.activity.TitleLayout>
</RelativeLayout>
- 创建自定义标题布局控件
- 引入布局与创建自定义控件
- android控件——创建自定义控件或布局
- Android初级之路------->布局管理器和创建自定义控件
- 自定义布局控件
- 自定义布局控件
- Android自定义组合标题控件
- Xamarin.Forms 用户界面——控件——布局——创建自定义布局
- Android自定义控件之标题控件
- 自定义简单控件之标题控件
- 抽象布局 include merge ViewStub 自定义标题
- include标签布局以及自定义标题
- include标签布局和自定义标题
- 自定义控件 创建复合控件
- 创建 Web 自定义控件
- 创建Web自定义控件
- 创建MiniGUI自定义控件
- 创建自定义验证控件
- acm_icpc网络赛第六站:上海赛区(跪烂心已死)
- 支持虚拟用户
- 简单线性动态规划 —— 编辑距离
- Web项目中 Listener监听器的使用
- hdoj 1071 The area
- 创建自定义标题布局控件
- mysql的启动、登陆、关闭和卸载
- 嵌入式学习笔记3—代码搬移
- 压力测试—pylot源码分析
- nodejs 安装express 提示不是内部或外部命令
- Java
- 101 - The Blocks Problem
- 实用dos命令
- 走台阶问题