TitleLayout
- 多功能、通用的、可在布局或者使用Java代碼實現標題欄;
- 支持沉浸式狀態欄;
- 支持左側返回按鈕不需要手動實現頁面返回;
- 支持左側按鈕,中間標題,右邊按鈕點擊
- 左側支持圖片+文字、單獨圖片、單獨文字;右側支持單獨圖片、單獨文字等。
圖片有點虛,請見諒

堆碼不易,star支持,萬分感謝
歡迎關注:
重點說明:
- 若左側文字或者按鈕為返回鍵,只需要布局中使用如下代碼即可;
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支持,萬分感謝
歡迎關注: