android 如何将图像设置为状态栏背景

wi3ka0sx  于 11个月前  发布在  Android
关注(0)|答案(2)|浏览(135)

我在我的ActivityMain.xml中设置了一个图像,并且没有使用操作栏主题。我想要我在背景中设置的照片此图像将显示状态栏的背景。


的数据

nhaq1z21

nhaq1z211#

你需要通过以下步骤来实现这一点:
1.在您的styles.xml中删除一个主题

<style name="FullScreenTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
        <item name="colorPrimary">@color/background</item>
        <item name="colorPrimaryDark">@color/background</item>
        <item name="colorAccent">@color/primary</item>
        <item name="colorControlActivated">@color/primary</item>
        <item name="android:windowLightStatusBar" tools:targetApi="m">false</item>
        <item name="android:windowTranslucentNavigation" tools:targetApi="kitkat">true</item>
        <item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>
</style>

字符串
注意:android:windowTranslucentNavigation是这里的重要属性。
1.现在,在Activity xml的父布局中,添加android:fitsSystemWindows="true"以全屏填充UI。
1.在你的Activity类中,在onCreate方法中,需要像这样设置NO_LIMIT标志;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

    setContentView(R.layout.your_xml);

}


1.现在从android manifest设置这个主题你的类。

<activity
    android:name=".YourActivity"
    android:theme="@style/FullScreenTheme" />


霍普这对你有帮助

oalqel3c

oalqel3c2#

我从你的问题假设是,你想实现一个全屏活动与您的蓝色作为背景的状态栏,你可以设置您的状态栏为透明和您的屏幕伸展到全屏

window?.decorView?.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
window.statusBarColor = Color.TRANSPARENT

字符串

相关问题