自定义控件之--组合控件(titlebar)

- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/rl_top"
- android:layout_width="fill_parent"
- android:layout_height="@dimen/top_height"
- android:background="#f8f8f8" >
- <Button
- android:id="@+id/btn_top_back"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_centerVertical="true"
- android:gravity="center"
- android:background="@drawable/btn_top_back"
- android:textSize="20sp" />
- <TextView
- android:id="@+id/tv_top_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerInParent="true"
- android:gravity="center"
- android:text="@string/app_name"
- android:textColor="@color/black"
- android:textSize="20sp" />
- <Button
- android:id="@+id/btn_top_right"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_alignParentRight="true"
- android:layout_centerVertical="true"
- android:layout_marginRight="@dimen/image_corner_radius"
- android:background="@null"
- android:gravity="center"
- android:textColor="@drawable/btn_top_right_selector"
- android:textSize="16sp" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_alignParentBottom="true"
- android:layout_height="1dp"
- android:background="@color/gray" />
- </RelativeLayout>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- public class TitleView extends FrameLayout {
- private Button btn_top_back;
- private TextView tv_top_title;
- private Button btn_top_right;
- public TitleView(Context context, AttributeSet attrs) {
- super(context, attrs);
- LayoutInflater.from(context).inflate(R.layout.common_top, this);
- btn_top_back = (Button) findViewById(R.id.btn_top_back);
- tv_top_title = (TextView) findViewById(R.id.tv_top_title);
- btn_top_right = (Button) findViewById(R.id.btn_top_right);
- }
- public void setvisible(int left,int middle,int right){
- btn_top_back.setVisibility(left);
- tv_top_title.setVisibility(middle);
- btn_top_right.setVisibility(right);
- }
- public void setTitle(String title){
- tv_top_title.setText(title);
- }
- public void setLeftOnclickListener(OnClickListener onClickListener){
- btn_top_back.setOnClickListener(onClickListener);
- }
- public void setRightOnclickListener(OnClickListener onClickListener){
- btn_top_right.setOnClickListener(onClickListener);
- }
- public void setRightText(String text){
- btn_top_right.setText(text);
- }
- }
在布局里面就可以通过包名+类名来重用title布局文件,在activity或者fragement里面初始化,通过TitleView的方法控制内容的显示和隐藏,以及内容的变化,控件事件的响应。
- public class TitleView extends FrameLayout {
自定义控件之--组合控件(titlebar)的更多相关文章
- Android开发技巧——自定义控件之组合控件
Android开发技巧--自定义控件之组合控件 我准备在接下来一段时间,写一系列有关Android自定义控件的博客,包括如何进行各种自定义,并分享一下我所知道的其中的技巧,注意点等. 还是那句老话,尽 ...
- Flutter学习笔记(38)--自定义控件之组合控件
如需转载,请注明出处:Flutter学习笔记(38)--自定义控件之组合控件 在开始之前想先写点其他的,emm...就是今天在学习到自定义控件的时候,由于自定义控件这块一直是我的短板,无论是Andro ...
- android--------自定义控件 之 组合控件篇
上篇介绍了自定义控件的自定义属性篇,地址:http://www.cnblogs.com/zhangqie/p/8969163.html 这篇博文主要来说说 自定义控件的组合控件来提高布局的复用 使用自 ...
- Android自定义控件之自定义组合控件
前言: 前两篇介绍了自定义控件的基础原理Android自定义控件之基本原理(一).自定义属性Android自定义控件之自定义属性(二).今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发 ...
- Android自定义控件之自定义组合控件(三)
前言: 前两篇介绍了自定义控件的基础原理Android自定义控件之基本原理(一).自定义属性Android自定义控件之自定义属性(二).今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发 ...
- Andriod 自定义控件之创建可以复用的组合控件
前面已学习了一种自定义控件的实现,是Andriod 自定义控件之音频条,还没学习的同学可以学习下,学习了的同学也要去温习下,一定要自己完全的掌握了,再继续学习,贪多嚼不烂可不是好的学习方法,我们争取学 ...
- ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl
原文:ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 第四章 组合控件开发CompositeControl 大家好,今天我们来实现一个自定义的控件,之前我们已经 ...
- ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 后篇 --事件冒泡
原文:ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 后篇 --事件冒泡 CompositeControl 后篇 --事件冒泡 系列文章链接: ASP.NET ...
- Android自定义控件View(三)组合控件
不少人应该见过小米手机系统音量控制UI,一个圆形带动画效果的音量加减UI,效果很好看.它是怎么实现的呢?这篇博客来揭开它的神秘面纱.先上效果图 相信很多人都知道Android自定义控件的三种方式,An ...
随机推荐
- 升级到macSierra 10.12之后 在模拟器上面滑动视图很卡,
解决方法 在终端里面输入sudo sysctl -w kern.timer.coalescing_enabled=0
- 学习node的REPL
REPL: read eval print loop 支持 多行代码 编辑模式,即 识别{} () 为代码块. 在repl中快速查看 对象的属性 gl = global repl command .h ...
- mybatis_generator
1.准备工作: jar包: mybatis-generator-core-1.3.2.jar,MyBatis Generator所需jar mysql-connector-java-5.1.28-bi ...
- python--函数式登录程序
# Author:Tim Gu def login(username,password): """这个login函数用于用户登录的验证 :param username:用 ...
- 快速挂载和分离VHD文件的小脚本
=======代码开始======== echo select vdisk file= %VHD文件路径% echo attach vdisk exit 分离VHD的脚本,只需要将上述代码中 at ...
- SQL优化 总结 精简
索引: 考虑在 where 及 order by 涉及的列上建立索引 经常同时存取多列,且每列都含有重复值可考虑建立组合索引,且查询越频繁的字段放前面 按需使用聚集与非聚集索引,聚集不适合频繁更新.适 ...
- Hibernate5--课程笔记5
关联关系映射: 关联关系,是使用最多的一种关系,非常重要.在内存中反映为实体关系,映射到DB中为主外键关系.实体间的关联,即对外键的维护.关联关系的发生,即对外键数据的改变. 外键:外面的主键,即,使 ...
- Hibernate5-课程笔记3
详解Hibernate的API: (1)Configuration接口: org.hibernate.cfg.Configuration接口的作用是加载主配置文件及映射文件,以实现对Hibernate ...
- 【转】关于spring集合对象的补充
<span style="font-size:18px;">关于spring集合对象的补充 spring2.0中对集合对象有了改进,新增了一个<util>标 ...
- excel中的数据导入oracle方法
SQL_loader批量上传数据 1. 注释 在工作中,很多时候会遇到如下情况:需要将excel中的数据批量上传到ORACLE表中.如果是小数据量,如几十条至几百条,那么用plsql dev工具 ...