TitleLayout——一个Android轻松实现标题栏的库
TitleLayout
- 多功能、通用的、可在布局或者使用Java代码实现标题栏;
- 支持沉浸式状态栏;
- 支持左侧返回按钮不需要手动实现页面返回;
- 支持左侧按钮,中间标题,右边按钮点击
- 左侧支持图片+文字、单独图片、单独文字;右侧支持单独图片、单独文字等。
图片有点虚,请见谅

堆码不易,star支持,万分感谢
欢迎关注:
Github 地址:https://github.com/SiberiaDante/TitleLayout
博客园:http://www.cnblogs.com/shen-hua/
email: 994537867@qq.com
Android开发必备经典收藏集(整理中)
Android开发常备工具整理中
重点说明:
- 若左侧文字或者按钮为返回键,只需要布局中使用如下代码即可;
dante:d_is_back_view="true"
或者Java代码中
titleLayout.setIsLeftBackView(true)
无须在设置onClickListener,this.finish等;如有特殊需要,可设置属性为false,实现方法:
setLeftClickListener(OnClickListener listener)
- 若项目中使用了沉浸式状态栏,则需要在布局中
dante:d_is_immersive_state_bar="true"
- 设置页面为沉浸式状态栏方法:
ScreenUtil.setStatusTranslucent(this);
Gradle依赖:
dependencies {
compile 'com.github.SiberiaDante:TitleLayout:v1.0.1'
}
在布局中使用:
<com.siberiadante.titlelayoutlib.TitleBarLayout
android:id="@+id/title_layout_one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
dante:d_is_back_view="true"
dante:d_is_immersive_state_bar="true"
dante:d_left_image="@mipmap/back_gray"
dante:d_left_image_padding_start="10dp"
dante:d_left_image_width="30dp"
dante:d_left_text="测试"
dante:d_left_text_color="@color/black"
dante:d_left_text_padding_start="10dp"
dante:d_left_text_size="14sp"
dante:d_line_height="1px"
dante:d_right_text="举报"
dante:d_right_text_color="@color/white"
dante:d_right_text_size="14sp"
dante:d_title_color="@color/black"
dante:d_title_layout_background="@color/red"
dante:d_title_layout_height="45dp"
dante:d_title_size="18sp"
dante:d_title_text="这里是标题" />
使用Java代码:
TitleBarLayout titleBarLayout = (TitleBarLayout) findViewById(R.id.title_layout);
titleBarLayout.setTitleClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LogUtil.d("title 被点击了");
}
});
//设置Titlesize
titleBarLayout.setTitleSize(30);
//一键设置标题样式
titleBarLayout.setTitleStyle("我是标题", 18, ContextCompat.getColor(this, R.color.action_sheet_blue));
titleBarLayout.setRightImageClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LogUtil.d("右边图片被点击了");
}
});
其他属性说明
xml中的属性:
| xml属性 | 属性说明 |
|---|---|
| d_left_image | 左边图片资源 |
| d_left_image_width | 左边图片宽(高为匹配父布局) |
| d_left_image_padding_start | 左边图片左边距(默认10dp) |
| d_left_text | 左边文字资源 |
| d_left_text_size | 左边文字大小(默认16SP) |
| d_left_text_color | 左边文字颜色(默认黑色) |
| d_left_text_style | 后续完善该属性</td> |
| d_left_text_padding_start | 左边文字左边距(默认10dp) |
| d_title_text | 中间标题文字资源 |
| d_title_size | 中间标题文字大小(默认18SP) |
| d_title_color | 中间标题文字颜色(默认黑色) |
| d_title_style | 后续完善该属性 |
| d_right_text | 右边文字资源 |
| d_right_text_color | 右边文字颜色 |
| d_right_text_size | 右边文字大小(默认16sp) |
| d_right_text_style | 后续完善该属性 |
| d_right_text_padding_end | 右边文字距离右边距 |
| d_right_image | 右边图片资源 |
| d_right_image_width | 右边图片宽度,高度为匹配父布局 |
| d_right_image_padding_end | 右边图片距离右边距 |
| d_line_height | 标题栏底部横线高度(默认1px,建议单位使用px) |
| d_line_background | 标题栏底部横线背景颜色(默认黑色) |
| d_title_layout_height | 标题栏整体高度(默认45dp) |
| d_is_back_view | 左侧文字和图片是否为返回键,若是返回键,则自带返回前一页面功能 |
| d_is_immersive_state_bar | 是否是沉浸式状态栏,默认false,(为true时标题栏高度包含状态栏高度) |
Java 代码中
| Java代码方法 | Java代码方法说明 |
|---|---|
| setTitle(CharSequence title) | 设置标题资源 |
| setTitleSize(int titleSize) | 设置标题字体大小 |
| setTitleColor(int titleColor) | 设置标题字体颜色 |
| setTitleStyle(String title, int titleSize, int titleColor) | 设置标题资源、文字大小、文字颜色 |
| >setLeftText(String leftText) | 设置左侧文字 |
| >setLeftTextSize(int leftTextSize) | 设置左侧文字大小 |
| setLeftTextColor(int leftTextColor) | 设置左侧文字颜色 |
| setLeftStyle(String leftText, int leftTextSize, int leftTextColor) | 设置左侧文字、文字大小、文字颜色 |
| setRightText(String rightText) | 设置右侧文字 |
| setRightTextSize(int rightTextSize) | 设置右侧文字大小 |
| setRightTextColor(int rightTextColor) | 设置右侧文字颜色 |
| setTitleClickListener(OnClickListener listener) | 标题点击监听 |
| setLeftClickListener(OnClickListener listener) | 左侧文字和按钮点击监听 |
| setRightTextClickListener(OnClickListener listener) | 右侧文字点击监听 |
| setRightImageClickListener(OnClickListener listener) | 右侧按钮点击监听 |
| setIsLeftBackView(boolean isLeftBackView) | 设置左侧文字和按钮是否为返回按钮 |
堆码不易,star支持,万分感谢
欢迎关注:
博客园:http://www.cnblogs.com/shen-hua/
email: 994537867@qq.com
Android开发必备经典收藏集(整理中)
Android开发常备工具整理中
[源码GitHub地址]:https://github.com/SiberiaDante/TitleLayout
TitleLayout——一个Android轻松实现标题栏的库的更多相关文章
- TitleLayout——一个Android轻松实现通用、标准、支持沉浸式状态栏的标题栏库
TitleLayout 多功能.通用的.可在布局或者使用Java代码实现标题栏:支持沉浸式状态栏,支持左侧返回按钮(不需要手动实现页面返回),左侧支持图片+文字.图片.文字:右侧支持图片.文字等. 堆 ...
- 一个android的各种控件库
在这里 https://github.com/Trinea/android-open-project 很多的listview,非常棒
- 如何把一个android工程作为另外一个android工程的lib库
http://zhidao.baidu.com/question/626166873330652844 一个工程包含另一个工程.相当于一个jar包的引用.但又不是jar包反而像个package 在网上 ...
- Android非常有用的开源库介绍整理
Android开源库 自己一直很喜欢Android开发,就如博客副标题一样,我想做个好的App. 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者,而且我会 ...
- Android 2018最新的三方库
文章出处https://blog.csdn.net/qq_32368129/article/details/78749880 1.MaterialStepperView 它是用Material Des ...
- Android:日常学习笔记(2)——分析第一个Android应用程序
Android:日常学习笔记(2)——分析第一个Android应用程序 Android项目结构 整体目录结构分析 说明: 除了APP目录外,其他目录都是自动生成的.APP目录的下的内容才是我们的工作重 ...
- 从0系统学Android--1.3创建你的第一个 Android 项目
1.3 创建你的第一个 Android 项目 环境搭建完成后,我们就可以写下我们的第一个项目了. 1.3.1 创建 HelloWorld 项目 在 Android Studio 的欢迎页面点击 Sta ...
- 各种Android UI开源框架 开源库
各种Android UI开源框架 开源库 转 https://blog.csdn.net/zhangdi_gdk2016/article/details/84643668 自己总结的Android开源 ...
- 用Kotlin创建第一个Android项目(KAD 01)
原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...
随机推荐
- 小明历险记:规则引擎drools教程一
小明是一家互联网公司的软件工程师,他们公司为了吸引新用户经常会搞活动,小明常常为了做活动加班加点很烦躁,这不今天呀又来了一个活动需求,我们大家一起帮他看看. 小明的烦恼 活动规则是根据用户购买订单的金 ...
- MySQL checkpoint深入分析
1.日常关注点的问题 2.日志点分析 3.checkpoint:脏页刷盘的检查点 4.模糊检查点发生条件 1.master thread checkpoint 2.flush_lru_list che ...
- selenium+python开发环境的搭建
web 调试工具介绍和开发环境搭建 python与selenium开发环境搭建: 一.下载python软件:https://www.python.org/ 下载完后,进行安装,安装成功后,打开IDLE ...
- 易云捷讯MySQL云数据库上线,推进IaaS与PaaS融合战略布局
日前宣布,其基于MySQL的关系型云数据库已经正式上线公测,用户可通过易云管理控制台创建.监控与管理mysql数据库.此服务包括在线扩容.自动备份.灵活配置和监控告警等功能,旨在帮助用户实现便捷的运维 ...
- Linux操作系统-命令-top
当我们在执行性能测试的时候,需要关注 业务性能指标(业务监控) 吞吐量(TPS) 响应时间 平均响应时间 50%用户响应时间 90%用户响应时间 标准差 # TPS标准差越小,说明波动越小,系统越稳定 ...
- oracle常用视图介绍
oracle常用视图介绍---------------------2013/10/04(last updated) dba_开头: dba_users 数据库用户信息 dba_segm ...
- Ransom Note(383)
题目:Given an arbitrary ransom note string and another string containing letters from all the magazine ...
- 几个简单的例子让你读懂什么是JAVA的堆栈跟踪
简单的来说,堆栈跟踪就是我们的程序在抛出异常时使用的方法调用列表. 简单的例子 通过问题中给出的示例,我们可以准确地确定应用程序中抛出异常的位置. 我们来看看堆栈跟踪: Exception in ...
- 【Linux】MySQL解压版安装及允许远程访问
安装环境/工具 1.Linux( centOS 版) 2.mysql-5.6.31-linux-glibc2.5-x86_64.tar 安装步骤 1.下载mysql解压版(mysql-5.6.31-l ...
- spring boot 登录注册 demo (二) -- 数据库访问
通过data-jpa来访问数据库 <dependency> <groupId>org.springframework.boot</groupId> <arti ...