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