我想以编程方式更改pre-lollipop设备上的状态栏颜色。我很清楚材料设计colouPrimaryDark不会在棒棒糖前工作,因为状态栏颜色是操作系统本身的关注,前棒棒糖设备不会提供这样的功能。所以我想通过java文件以编程方式进行。这可能吗?
目前我正在使用此材料设计代码。
class Mobile
因为这不适用于21以下的API。所以我想通过java。
来做答案 0 :(得分:1)
实际上,我们可以在+ KitKat
上使用它。
点击此链接: http://developer.android.com/reference/android/R.attr.html#windowTranslucentStatus
- 已添加到
API level 19
中,这意味着有一种方法可以执行此操作。检查我的博客,将其与SystemTintBar
一起使用: https://linx64.ir/blog/2016/02/05/translucent-statusbar-on-kitkat/- 这是另一种方法(不使用
CoordinatorLayout
):Translucent StatusBar on kitkat with FrameLayout above the Toolbar and using CoordinatorLayout
只需将其添加到您的布局顶部:
<FrameLayout
android:id="@+id/statusbar"
android:layout_width="match_parent"
android:layout_height="25dp"
android:background="@color/colorPrimaryDark" />
并使用此:
if(Build.VERSION.SDK_INT == 19) {
FrameLayout statusbar = (FrameLayout) findViewById(R.id.statusbar);
statusbar.setVisibility(View.GONE);
}
它应该适用于Kitkat
,就像我说的那样,这也适用于+ Kitkat
。
答案 1 :(得分:0)
简单地说,操作系统本身无法管理这些事情。 pre-lollipop安卓版本没有给予改变状态栏颜色的特权。