TitleLayout——一个Android轻松实现通用、标准、支持沉浸式状态栏的标题栏库

TitleLayout

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

堆码不易,star支持,万分感谢

效果图

942621-20180301173852617-105898612.jpg

欢迎关注:
   compile 'com.github.SiberiaDante:TitleLayout:v1.1.0'

在布局中使用:

<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_style="normal"
        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_size="14sp"
        dante:d_right_text_style="normal"
        dante:d_right_text_color="@color/white"
        dante:d_title_size="18sp"
        dante:d_title_style="mormal"
        dante:d_title_text="这里是标题"
        dante:d_title_color="@color/black"
        dante:d_subtitle_size="11sp"
        dante:d_subtitle_style="mormal"
        dante:d_subtitle_text="这里是副标题"
        dante:d_subtitle_color="@color/gray"
        dante:d_title_layout_background="@color/red"
        dante:d_title_layout_height="45dp"/>

使用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("右边图片被点击了");
            }
        });

重点说明:

  • 若左侧文字或者按钮为返回键,只需要布局中使用如下代码即可:
    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);

其他属性说明

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设置文字style(normal|bold|italic)
d_left_text_padding_start左边文字左边距(默认10dp)
d_title_text中间标题文字资源
d_title_size中间标题文字大小(默认18SP)
d_title_color中间标题文字颜色(默认黑色)
d_title_style设置文字style(normal|bold|italic)
d_subtitle_text中间副标题文字资源
d_subtitle_size中间副标题文字大小(默认12SP)
d_subtitle_color中间副标题文字颜色(默认黑色)
d_subtitle_style设置文字style(normal|bold|italic)
d_right_text右边文字资源
d_right_text_color右边文字颜色
d_right_text_size右边文字大小(默认16sp)
d_right_text_style设置文字style(normal|bold|italic)
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_title_layout_background标题栏整体背景颜色
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)设置标题资源、文字大小、文字颜色
setSubTitle(CharSequence title)设置副标题资源
setSubTitleSize(int titleSize)设置副标题字体大小
setSubTitleColor(int titleColor)设置副标题字体颜色
setSubTitleStyle(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)设置左侧文字和按钮是否为返回按钮
setIsHaveLine(boolean haveLine)设置标题栏底部是否有分割线
setLeftBackViewVisible设置左侧图标显示隐藏
setLeftTextViewVisible设置左侧文字显示隐藏
setRightTextViewVisible设置右侧文字显示隐藏
setRightImageViewVisible设置右侧图标显示隐藏
setTitleVisible设置标题显示隐藏
setSubTitleVisible设置副标题显示隐藏

问题

  • 设置字体颜色失真,请使用:ContextCompat.getColor(this,R.color.red)

更新优化说明

  • v1.1.0:
    • 增加支持Java代码设置所有控件显示隐藏
  • v1.0.9:
    • 增加支持动态设置左侧和右侧图标功能
    • 增加未初始化时UnsupportedOperationException异常提示
  • v1.0.4
    • 修复bug
    • 支持设置文字style(normal|bold|italic)
  • v1.0.2
    • 增加支持副标题功能
    • 优化标题过长显示问题
  • v1.0.1
    • 多功能、通用的、可在布局或者使用Java代码实现标题栏;
    • 支持沉浸式状态栏;
    • 支持左侧返回按钮不需要手动实现页面返回;
    • 支持左侧按钮,中间标题,右边按钮点击
    • 左侧支持图片+文字、单独图片、单独文字;右侧支持单独图片、单独文字等。
    • 多功能、通用的、可在布局或者使用Java代码实现标题栏;
    • 支持沉浸式状态栏,支持左侧返回按钮(不需要手动实现页面返回),左侧支持图片+文字、图片、文字;右侧支持图片、文字等。

转载于:https://www.cnblogs.com/shen-hua/p/8468699.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值