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 ...
随机推荐
- 如何发布自己的开源框架到CocoaPods【转】
在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install ...
- this final 关键字
this: 1:将当前对象的值返回(谁调用就指谁). 2:添加this关键字可以区分局部变量和成员变量. 3:使用this可以调用其他构造函数(前提是this正处于构造函数中). final: 1:修 ...
- properties文件作用以及在哪些地方用
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- ajax执行顺序问题
在一个函数里,执行顺序是先传所有的值到指定url,然后再返回所有的success 解决方法:将ajax改成异步 aysnc:false
- 【HTTP权威指南】第二章-URL与资源
[统一资源定位符URL]通过位置来标示资源,其表达的格式如下:https://item.jd.com/523961.html 第一部分(https)是方案,告知客户端要[怎样访问],这里使用的是htt ...
- lsof命令详解
--转载 一般root用户才能执行lsof命令,普通用户可以看见/usr/sbin/lsof命令,但是普通用户执行会显示“permission denied” 我总结一下lsof指令的用法: lsof ...
- ORACLE_RESETLOGS浅析[转]
alter database open resetlogs 这个命令我想大家都很熟悉了,那有没有想过这个resetlogs选项为什么要用?什么时候用?它的原理机制是什么?他都起哪些作用? 我们都知道数 ...
- MySql的安装与卸载
首先到官网下载MySQL,点击安装 出现的页面如下,依次安装就好了,安装过程中需要修改的只有编码格式,需要填写的是数据库的密码,MySQL的默认用户名为root,默认端口为3306,端口号最好不要修改 ...
- iOS app 逆向过程(持续更新完善)
一.获取待逆向的app 1.用cyder2直接从源里下载,适合逆向越狱开发的软件. 2.从pp助手中下载,pp助手中有越狱应用和正版应用.越狱应用直接是已经脱壳的,未越狱应用还需要执行砸壳 二.获取待 ...
- 【Ubuntu Desktop】安装主流桌面
ubuntu的桌面环境实在多,在这里选了几款主流的桌面环境,大家可以按需安装使用. 1.GNOME 2 Classic 经典老界面 gnome2 after reboot,choose GNOME ...