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 ...
随机推荐
- [补档]vijos1883 月光的魔法
vijos1883 月光的魔法 题目 传送门:https://www.vijos.org/p/1883 背景 影几欺哄了众生了 天以外-- 月儿何曾圆缺 描述 有些东西就如同月光的魔法一般. Lu ...
- Spring Boot整合Dubbo使用及开发笔记
一.概述: Spring Dubbo是我开发的一个基于spring-boot和dubbo,目的是使用Spring boot的风格来使用dubbo.(即可以了解Spring boot的启动过程又可以学习 ...
- JavaScript数组方法大全
1.两个数组拼接的方法: Array.concat(obj); var array = [1,2,3]; var array2 = [4,5,6]; var arrtotall = array.con ...
- 安装完jdk配置环境变量
(1)新建->变量名"JAVA_HOME",变量值"C:\Java\jdk1.8.0_05"(即JDK的安装路径) (2)编辑->变量名" ...
- Git时光机穿梭之撤销修改
自然,你是不会犯错的.你在readme.txt中添加了一行: $ cat readme.txt Git is a distributed version control system. Git is ...
- NYOJ--65--另一种阶乘问题
/* Name: NYOJ--65--另一种阶乘问题 Date: 17/04/17 16:35 Description: 去年刚开始做题时的代码看不下去了,再做,打表呗 */ #include< ...
- HTML学习笔记2
5.超链接 3种超链接: 1. 连接到其他页面 2. 锚: (是链接页面)指给超链接起一个名字,作用是连接到本页面或者其他页面的特定位置.使用name属性给超链起名字,本页要加# 3. 连接到邮件: ...
- 关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1
关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1 ORACLE公司来培训BIEE,带了一个DEMO的DMP文件,其导出用户DBO具有DBA权限,缺省表 ...
- 关于mysql增删改查的基本操作
1.注释语法:--,#2.后缀是.sql的文件是数据库查询文件3.保存查询4.在数据库里面 列有个名字叫字段 行有个名字叫记录CRUD操作:create 创建(添加)read 读取update 修 ...
- java 序列化 serialVersionUID 的作用 和 两种添加方式
serialVersionUID适用于Java的序列化机制.简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的 ...