TitleLayout——一個Android輕鬆實現通用、標準、支援沈浸式狀態列的標題列庫

來源:互聯網
上載者:User

標籤:state   end   isl   bool   監聽   mpi   代碼實現   boolean   div   

TitleLayout

多功能、通用的、可在布局或者使用Java代碼實現標題列;支援沈浸式狀態列,支援左側返回按鈕(不需要手動實現頁面返回),左側支援圖片+文字、圖片、文字;右側支援圖片、文字等。

堆碼不易,star支援,萬分感謝點擊查看歡迎關註:
  • [Github 地址:https://github.com/SibreiaDante]
  • [部落格園:http://www.cnblogs.com/shen-hua/]

    Android開發常備工具整理中Gradle依賴:
       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代碼實現標題列;
    • 支援沈浸式狀態列,支援左側返回按鈕(不需要手動實現頁面返回),左側支援圖片+文字、圖片、文字;右側支援圖片、文字等。

TitleLayout——一個Android輕鬆實現通用、標準、支援沈浸式狀態列的標題列庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.