如何在我的Android应用中获得这种样式?白色导航栏和灰色图标。一个例子是打开应用程序抽屉时。
我尝试了很多选项,但都没有成功。
应用的minSdkVersion为21,棒棒糖。
我看到了这个解决方案,但我没有成功应用它: 状态栏变白,不显示其后面的内容
![enter image description here](https://istack.dev59.com/S3nk6.webp)
我看到了这个解决方案,但我没有成功应用它: 状态栏变白,不显示其后面的内容
对于API >= 23
尝试:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
OR的样式:
<item name="android:windowLightStatusBar">true</item>
<item name="colorPrimary">@color/colorWhite</item>
<item name="colorPrimaryDark">#colorPrimaryDak</item>
<item name="colorAccent">@color/colorAccent</item>
针对 API < 23
在 v21/style 下声明此内容。
<item name="colorPrimaryDark" tools:targetApi="23">@color/colorPrimary</item> // white
<item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
更新:
<item name="colorPrimaryDark">@color/colorPrimary</item> // white
<item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
你无法做到。API 21-22未提供此功能。
但是,您可以将其变为黑色:
getWindow().setStatusBarColor(Color.BLACK);
完整示例:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
getWindow().setStatusBarColor(Color.BLACK);
}
}
}
colorPrimaryDark
中不需要写入tools:targetApi="23"
,因为它也适用于较低版本。对于android:windowLightStatusBar
来说是很好的。 - user2756345