TitleLayout——一个Android轻松实现标题栏的库

时间:2021-06-30 03:05:26

TitleLayout

  • 多功能、通用的、可在布局或者使用Java代码实现标题栏;
  • 支持沉浸式状态栏;
  • 支持左侧返回按钮不需要手动实现页面返回;
  • 支持左侧按钮,中间标题,右边按钮点击
  • 左侧支持图片+文字、单独图片、单独文字;右侧支持单独图片、单独文字等。

图片有点虚,请见谅

TitleLayout——一个Android轻松实现标题栏的库

堆码不易,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