如何在 android 中对状态栏应用渐变?

How to apply gradient to status bar in android?

谁能帮我看看下图。因为我必须将渐变应用于状态栏。我知道通过它们 colorPimaryDark.

只对状态栏做单色

正如您在图片中看到的那样,它在状态栏中显示了与验证布局中相同的渐变。

谢谢

你的oncreate应该是这样的

@Override
protected void onCreate(Bundle savedInstanceState) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        Window w = getWindow();
        w.addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
        w.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
    }
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

布局文件应该是这样的。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    tools:context="sslwireless.com.testfullscreen.MainActivity">

    <!--RePresent Toolbar-->
    <LinearLayout
        android:orientation="horizontal"
        android:background="@drawable/gradient"
        android:layout_width="match_parent"
        android:layout_height="100dp">

        <ImageView
            android:layout_gravity="center_vertical"
            android:src="@drawable/ic_arrow_back_white_24dp"
            android:layout_marginLeft="10dp"
            android:layout_width="35dp"
            android:layout_height="35dp" />

        <TextView
            android:layout_gravity="center_vertical"
            android:textSize="25sp"
            android:gravity="center_horizontal"
            android:textColor="#fff"
            android:text="Test Title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </LinearLayout>


</RelativeLayout>

渐变文件如下所示。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient android:angle="135" android:startColor="#f56f2c" android:endColor="#fa9f46"/>
</shape>

ui 看起来像这样。