多功能、通用的、可在布局或者使用Java代码实现标题栏;支持沉浸式状态栏,支持左侧返回按钮(不须要手动实现页面返回),左侧支持图片+文字、图片、文字;右侧支持图片、文字等。java
[博客园:http://www.cnblogs.com/shen-hua/]android
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"/>
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"
titleLayout.setIsLeftBackView(true)
setLeftClickListener(OnClickListener listener)
dante:d_is_immersive_state_bar="true"
ScreenUtil.setStatusTranslucent(this);
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代码方法说明 |
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 | 设置副标题显示隐藏 |