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

wi3ka0sx  于 2023-11-15  发布在  Android
关注(0)|答案(2)|浏览(165)

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


的数据

nhaq1z21

nhaq1z211#

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

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

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

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
  5. setContentView(R.layout.your_xml);
  6. }


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

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


霍普这对你有帮助

展开查看全部
oalqel3c

oalqel3c2#

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

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

字符串

相关问题