ActionBar沉浸式狀態(tài)欄實現(xiàn)

準備工作

studio,中引入沉浸式兼容庫
compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
eclipse带欢,可以導入相應的那個類料扰。

第一類嗜浮,兼容actionbar

  • 第一步:設置activity主題android:theme=”@style/ActionBarTheme”
<style name="ActionBarTheme"parent="android:Theme.Holo.Light.DarkActionBar">
  <!--API 14 themecustomizationscangohere. -->
  <item name="android:actionBarStyle">@style/ActionBarStyle</item>
</style>
<style name="ActionBarStyle"   parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse">
  <item name="android:background">@color/actionbar_bg</item>
</style>```

* 第二步:設置狀態(tài)欄透明巍举,然后設置狀態(tài)欄沉浸的顏色

@TargetApi(19)
private void setTranslucentStatus(boolean on) {
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
if (on) {
winParams.flags |= bits;
} else {
winParams.flags &= ~bits;
}
win.setAttributes(winParams);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
setTranslucentStatus(true);
}

SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
//設置沉浸的顏色 tintManager.setStatusBarTintResource(R.color.statusbar_bg);}```

  • 第三步:設置適應windows羊娃,在布局文件設置
    android:fitsSystemWindows=”true”
    如果不設置饭入,應用的ui會頂上去耗式,頂進system ui
    ok

第二類 沒有actionbar的activity

  • 第一步接校,設置主題,android:theme=”@style/FullBleedTheme”
<stylename="FullBleedTheme"parent="android:Theme.Holo.Light.NoActionBar">
<!--API 14 themecustomizationscangohere. -->
</style>
<stylename="FullBleedTheme"parent="android:Theme.Holo.Light.NoActionBar.TranslucentDecor">
<!--API 19 themecustomizationscangohere. -->
</style>```
或者
用toolbar只能設置Theme.AppCompat.NoActionBar主題

<style name="AppThemeToolbar" parent="Theme.AppCompat.NoActionBar">
<itemname="colorPrimary">#2196F3</item>
<itemname="colorPrimaryDark">#2196F3</item>

<itemname="colorAccent">#E91E63</item>
</style>```

  • 第二步:同上一個第二步糖耸。
    設置狀態(tài)欄透明+顏色
mTintManager = new SystemBarTintManager(this);
mTintManager.setStatusBarTintEnabled(true);
mTintManager.setNavigationBarTintEnabled(true);  mTintManager.setStatusBarTintResource(R.color.statusbar_bg);```

* 第三步:

android:fitsSystemWindows=”true”
android:clipToPadding=”false”```

<item name="android:fitsSystemWindows">true</item>
<item name="android:clipToPadding">false</item>```


### 可能出現(xiàn)的問題
* android:fitsSystemWindows屬性的奇怪問題

> 官方解釋是布局的時候是否考慮系統(tǒng)的狀態(tài)欄秘遏,標題欄,通知欄之類的嘉竟。

>我的實際使用是邦危,為true:那么布局的時候會把系統(tǒng)的狀態(tài)欄,標題欄舍扰,通知欄的高度考慮進去倦蚪。布局的內(nèi)容會在狀態(tài)欄,標題欄边苹,通知欄的下面陵且,不會被遮擋。

>但是在項目開發(fā)的過程中个束,突然發(fā)現(xiàn)對話框慕购,AlertDialog的內(nèi)容會超出背景大小,ProgressDialog的內(nèi)容會超出背景大小并且不居中播急。

>也是很偶然才發(fā)現(xiàn)是這個屬性造成的脓钾。我也沒理清楚,大概是這個屬性也使對話框考慮了系統(tǒng)的一些元素的緣故桩警。

>所以我們在使用這個屬性的時候不用直接把這個屬性加到theme中可训。在相關(guān)的布局layout中使用就可以了。

* Android Toast顯示文字超出了背景,文字布局中

>項目中突然出現(xiàn)了上述的情況握截,先開始以為是theme的問題飞崖,但是查了很久的資料,也做了很多實驗谨胞,但是沒有效果固歪,還是之前的樣子。一個很偶然的情況胯努,```Toast.makeText(getActivity(), “密碼不可為空”,Toast.LENGTH_SHORT).show();```改成了```Toast.makeText(App.getInstance(), “密碼不可為空”,Toast.LENGTH_SHORT).show();```發(fā)現(xiàn)就可以了牢裳。

>別問我,我也不知道原因叶沛。

>但是這提醒我們蒲讯,以后的Toast 的上下文參數(shù),直接用ApplicationContext就對了灰署。

Copyright (c) 2016 Copyright Holder All Rights Reserved.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末判帮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子溉箕,更是在濱河造成了極大的恐慌晦墙,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肴茄,死亡現(xiàn)場離奇詭異晌畅,居然都是意外死亡,警方通過查閱死者的電腦和手機寡痰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門踩麦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人氓癌,你說我怎么就攤上這事∑冻龋” “怎么了贪婉?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長卢肃。 經(jīng)常有香客問我疲迂,道長,這世上最難降的妖魔是什么莫湘? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任尤蒿,我火速辦了婚禮,結(jié)果婚禮上幅垮,老公的妹妹穿的比我還像新娘腰池。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布示弓。 她就那樣靜靜地躺著讳侨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪奏属。 梳的紋絲不亂的頭發(fā)上跨跨,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音囱皿,去河邊找鬼勇婴。 笑死,一個胖子當著我的面吹牛嘱腥,可吹牛的內(nèi)容都是我干的耕渴。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼爹橱,長吁一口氣:“原來是場噩夢啊……” “哼萨螺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起愧驱,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤慰技,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后组砚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吻商,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年糟红,在試婚紗的時候發(fā)現(xiàn)自己被綠了艾帐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡盆偿,死狀恐怖柒爸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情事扭,我是刑警寧澤捎稚,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站求橄,受9級特大地震影響今野,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜罐农,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一条霜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧涵亏,春花似錦宰睡、人聲如沸蒲凶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽豹爹。三九已至,卻和暖如春矛纹,著一層夾襖步出監(jiān)牢的瞬間臂聋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工或南, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留孩等,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓采够,卻偏偏與公主長得像肄方,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蹬癌,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,506評論 25 707
  • 一提到沉浸式狀態(tài)欄权她,第一個浮現(xiàn)在腦海里的詞就是“碎片化”。碎片化是讓 Android 開發(fā)者很頭疼的問題逝薪,相信沒有...
    揚州慢_閱讀 176,096評論 30 300
  • 前言 首先請大家看幾張圖: 以上的效果隅要,一般我們統(tǒng)稱為沉浸式狀態(tài)欄。其實董济,這種叫法不是很準確步清,而且也沒有沉浸式狀態(tài)...
    宇是我閱讀 3,799評論 2 28
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,358評論 0 17
  • 人生太短暫虏肾,與你無關(guān)的事廓啊,不要去爭 人生好短暫,一定要干自己喜歡的工作 不要想明天封豪,把今天過好 今天就是最美麗的一...
    MYbest_dfc1閱讀 202評論 0 0