Android設(shè)置狀態(tài)欄的顏色的方法在學(xué)習(xí)ToolBar的時候已經(jīng)學(xué)會了:
見以下鏈接
結(jié)合Toolbar設(shè)置狀態(tài)欄顏色
下面是自己在項目中設(shè)置狀態(tài)欄顏色的時候出現(xiàn)的問題
- 1.android4.4設(shè)置colorPrimaryDark無效
解決方法:
狀態(tài)欄顏色是在Android5.0加入的,不過從API19之后可以設(shè)置狀態(tài)欄透明色
在style中添加如下item
<item name="android:windowTranslucentStatus">true</item>
注意 :
android:fitSystemWindow="true"如果在父布局中填寫了在ToolBar里面填寫,也是無效的
- 2.添加上述屬性之后發(fā)現(xiàn)下面的界面"侵占"了狀態(tài)欄
問題
API19添加上述屬性之后,其實是設(shè)置了狀態(tài)欄透明色并且將界面設(shè)置為全屏的,故出現(xiàn)了"侵占"狀態(tài)欄的現(xiàn)象
解決方法
在ToolBar里面添加屬性:
android:fitSystemWindow="true"
并且要將其他地方的這個屬性去掉,不然不會達(dá)到預(yù)想的效果 - 3.添加上述屬性之后,可能會出現(xiàn)的BUG
問題:
如果你的toolbar沒有在Activity里面設(shè)置
setSupportActionBar(Toolbar)
那么它只是一個空間而已,不會更好的適配系統(tǒng)窗口,只是簡單的把里面的內(nèi)容弄的不會跟狀態(tài)欄發(fā)生沖突了而已
解決方法
Activity繼承AppCompatActivity
使用setSupportActionBar(Toolbar)方法 - 4.一個不是問題的問題,
問題
我在Toolbar的標(biāo)簽里面加了一個ImageButton設(shè)置點擊事件等,希望這個ImageView在Toolbar的最左邊(正常情況下應(yīng)該是在Menu里面設(shè)置MenuItem,設(shè)置MenuItem的itemID和在Activity里面onCreateOptionMenu(),和在onOptionMenuItemSelect里面設(shè)置事件)
然后Toolbar.setTitle(XXX)之后發(fā)現(xiàn)這個圖片的位置不在最左邊 最左邊是Title
解決方法
1.不用Title,在Activity里面添加代碼getSupportActionBar().setDisplayShowTitleEnabled(false)
這樣就不會顯示Title了
2.或者不在Toolbar的xml里面添加,而是把它添加到Menu里面,
3.setNavigationIcon:即設(shè)定up Button的圖標(biāo)