多功能、通用的、可在佈局或者使用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 | 設置副標題顯示隱藏 |