Android標(biāo)題欄(TitleBar)絕佳解決方案

這可能是性能最優(yōu)、使用最簡(jiǎn)單愉镰,支持自定義的標(biāo)題欄

Github傳送地址,歡迎Star,Pull及issue

已投入公司項(xiàng)目多時(shí)经柴,沒(méi)有任何毛病,點(diǎn)擊此處下載Demo

想了解實(shí)現(xiàn)原理的可以參考文章:純手工打造一個(gè)通用的標(biāo)題欄TitleBar

集成步驟

dependencies {
    implementation 'com.hjq:titlebar:5.0'
}

屬性大全(劃重點(diǎn)墩朦,要考)

<declare-styleable name="TitleBar" >
    <!-- 整體樣式 -->
    <attr name="barStyle">
        <enum name="light" value="0x10" />
        <enum name="night" value="0x20" />
        <enum name="transparent" value="0x30" />
    </attr>
    <!-- 中間 -->
    <attr name="title" format="string" />
    <attr name="titleColor" format="color" />
    <attr name="titleSize" format="dimension" />
    <!-- 左邊 -->
    <attr name="leftTitle" format="string"/>
    <attr name="leftIcon" format="reference" /><!-- leftIcon 優(yōu)先于 backButton -->
    <attr name="backButton" format="boolean" /><!-- 返回按鈕(默認(rèn)開(kāi)) -->
    <attr name="leftColor" format="color" />
    <attr name="leftSize" format="dimension" />
    <attr name="leftBackground" format="reference|color" />
    <!-- 右邊 -->
    <attr name="rightTitle" format="string" />
    <attr name="rightIcon" format="reference" />
    <attr name="rightColor" format="color" />
    <attr name="rightSize" format="dimension" />
    <attr name="rightBackground" format="reference|color" />
    <!-- 分割線 -->
    <attr name="lineVisible" format="boolean" />
    <attr name="lineColor" format="reference|color" />
    <attr name="lineSize" format="dimension" />
</declare-styleable>

XML示例

點(diǎn)我查看完整的Demo示例

<com.hjq.bar.TitleBar
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:title="默認(rèn)的標(biāo)題欄" />

設(shè)置監(jiān)聽(tīng)事件

mTitleBar.setOnTitleBarListener(new OnTitleBarListener() {

    @Override
    public void onLeftClick(View v) {
        ToastUtils.show("左項(xiàng)View被點(diǎn)擊");
    }

    @Override
    public void onTitleClick(View v) {
        ToastUtils.show("中間View被點(diǎn)擊");
    }

    @Override
    public void onRightClick(View v) {
        ToastUtils.show("右項(xiàng)View被點(diǎn)擊");
    }
});

統(tǒng)一TitleBar樣式

如果對(duì)TitleBar的默認(rèn)樣式不滿意坯认,可以在Application初始化樣式,具體可參考TitleBarLightStyle的實(shí)現(xiàn)

public class XXApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        TitleBar.initStyle(new ITitleBarStyle());
    }
}

混淆規(guī)則

-keep class com.hjq.bar.** {*;}

框架亮點(diǎn)

  • 性能最佳:不使用LayoutInflater,而使用代碼創(chuàng)建View的形式

  • 體驗(yàn)最優(yōu):TitleBar默認(rèn)樣式效果已經(jīng)非常好鹃操,可下載Demo測(cè)試

  • 支持操控子控件:可以在代碼中獲取TitleBar的子控件進(jìn)行調(diào)用相關(guān)的API

  • 支持自定義布局:可將TitleBar當(dāng)做FrameLayout使用韭寸,直接在XML中自定義布局

  • 兼容沉浸式狀態(tài)欄:兼容Github的沉浸式狀態(tài)欄框架,達(dá)到完全沉浸的效果

  • 框架兼容性良好:本框架不依賴任何第三方庫(kù)荆隘,支持兼容所有的安卓版本

  • 支持全局配置樣式:可以在Application中初始化TitleBar樣式恩伺,達(dá)到一勞永逸的效果

Android 技術(shù)討論 Q 群:10047167

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市椰拒,隨后出現(xiàn)的幾起案子晶渠,更是在濱河造成了極大的恐慌,老刑警劉巖燃观,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件褒脯,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡缆毁,警方通過(guò)查閱死者的電腦和手機(jī)番川,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)脊框,“玉大人颁督,你說(shuō)我怎么就攤上這事〗奖ⅲ” “怎么了沉御?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)昭灵。 經(jīng)常有香客問(wèn)我吠裆,道長(zhǎng),這世上最難降的妖魔是什么烂完? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任试疙,我火速辦了婚禮,結(jié)果婚禮上窜护,老公的妹妹穿的比我還像新娘效斑。我一直安慰自己,他們只是感情好柱徙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布缓屠。 她就那樣靜靜地躺著,像睡著了一般护侮。 火紅的嫁衣襯著肌膚如雪敌完。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,115評(píng)論 1 296
  • 那天羊初,我揣著相機(jī)與錄音滨溉,去河邊找鬼什湘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛晦攒,可吹牛的內(nèi)容都是我干的闽撤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼脯颜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼哟旗!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起栋操,我...
    開(kāi)封第一講書(shū)人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤闸餐,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后矾芙,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體舍沙,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年剔宪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拂铡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡歼跟,死狀恐怖和媳,靈堂內(nèi)的尸體忽然破棺而出格遭,到底是詐尸還是另有隱情哈街,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布拒迅,位于F島的核電站骚秦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏璧微。R本人自食惡果不足惜作箍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望前硫。 院中可真熱鬧胞得,春花似錦、人聲如沸屹电。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)危号。三九已至牧愁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間外莲,已是汗流浹背猪半。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人磨确。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓沽甥,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親乏奥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子安接,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,070評(píng)論 25 707
  • 【0314能量按鈕】6345-lemon 第21次分享 這10個(gè)秘密,目前能做到的只是好好做人英融、好好進(jìn)步盏檐、好好度日...
    lemon_c450閱讀 149評(píng)論 0 0
  • ——紀(jì)念一代軍神劉伯承元帥 一束亮光 作 拔劍渝川,舉義南昌驶悟,飲馬太行胡野。逐鹿中原取淮海,過(guò)長(zhǎng)江痕鳍、掃西南...
    一束亮光閱讀 646評(píng)論 1 1
  • 酒泉城里修了所新學(xué)校硫豆,北苑學(xué)校。有一回從旁邊路過(guò)笼呆,新嶄嶄的熊响,喜歡。要是將來(lái)樹(shù)長(zhǎng)起來(lái)了诗赌,會(huì)有許多好看汗茄。毛德軍校長(zhǎng)請(qǐng)我...
    行吟斯基閱讀 1,114評(píng)論 10 9
  • 余生請(qǐng)善待自己 尊重自己的每個(gè)決定 尊重自己內(nèi)心的想法 尊重自己的情緒 愛(ài)護(hù)自己的身體 允許自己生氣 給自己發(fā)泄的...
    大愛(ài)無(wú)痕閱讀 295評(píng)論 2 7