以编程方式更改Galaxy S8导航栏颜色

时间:2017-12-04 08:51:20

标签: java android xamarin samsung-galaxy

由于galaxy s8 home / back / recent按钮现在是软键,所以我只需更改应用程序中按钮的背景颜色。

2 个答案:

答案 0 :(得分:2)

您的问题在Lollipop及以上版本中得到解决,

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setNavigationBarColor(Color.YOUR_COLOR);
}

答案 1 :(得分:1)

问题是以编程方式要求Dhruv Patel正确回答

但对于其他任何偶然发现并想知道如何在xml中执行此操作的人,请打开/res/values-v21/styles.xml中的styles.xml(如果你的minSdk小于21,否则只是/ res /values/styles.xml)以及您在AndroidManifest中使用的主题(我在整个过程中使用'AppTheme'),

的AndroidManifest.xml

    ...
    <application
        android:name=".MyApp"
        android:icon="@drawable/appicon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">

在styles.xml

中的主题下插入该行
    <item name="android:navigationBarColor">@android:color/black</item>

并将颜色更改为您想要的颜色,使其看起来像

styles.xml

    <resources>
    <style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
        <!-- Other items -->
        <item name="android:textColorHint">@color/hint_gray</item>
        <item name="android:buttonStyle">@style/RobotoButtonStyle</item>


        <item name="android:navigationBarColor">@android:color/black</item>
    </style>
    </resources>

如果您的minSdk小于21并且您没有styles-v21设置,您只需在styles.xml中插入行项目,Android Studio的内置工具将显示错误并帮助创建目录