更改导航栏颜色,例如canva应用

时间:2018-10-29 08:44:22

标签: android

我想要像Canva App一样设计启动画面。喜欢

(此屏幕截图取自android API版本26)。

我在Activity.java中尝试了以下代码:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Window window = getWindow();
        window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
                WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
    }
}

XML代码是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/gradient_splash_screen">

    <FrameLayout
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerInParent="true"
        android:background="@drawable/icon_splash_screen">

        <TextView
            android:id="@+id/tv_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="@string/app_name"
            android:textColor="#678ee4"
            android:textSize="28sp" />
    </FrameLayout>
</RelativeLayout>

我最近提到了this question,但不足以将导航栏图标的颜色更改为白色。

1 个答案:

答案 0 :(得分:0)

我看到屏幕截图中没有操作栏。

您可以创建一个没有操作栏,透明状态栏和透明导航栏的屏幕。

创建如下样式。

    <style name="AppTheme.NoActionBar" parent="AppTheme">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.NoActionBar.TranslucentStatus" parent="AppTheme.NoActionBar">
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowTranslucentNavigation">true</item>
    <item name="android:navigationBarColor">@android:color/transparent</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>

将以上AppTheme.NoActionBar.TranslucentStatus应用于您在manifest中的活动

以上方法仅适用于棒棒糖(v21)