在尝试为 Android 实现透明导航和状态栏(边缘到边缘)时,我遵循了本指南。我正在使用自定义顶部栏,以便我可以在滚动时隐藏它。
<com.google.android.material.appbar.AppBarLayout
app:liftOnScroll="true"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/topAppBar"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:title="Calorie Vault"
style="@style/Widget.MaterialComponents.Toolbar.Primary"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
</com.google.android.material.appbar.AppBarLayout>
我将 WindowCompat.setDecorFitsSystemWindows(window, false)
添加到我的 MainActivity 中。然后,在我的 Fragment 中,我使用插图来向上推送 UI,以便 3 按钮导航不会覆盖某些可点击的界面。
ViewCompat.setOnApplyWindowInsetsListener(view) { view, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
view.updatePadding(
top = insets.top, // this is for the tool bar inset
bottom = insets.bottom // lift up the bottom part of the UI above navigation bar
)
WindowInsetsCompat.CONSUMED
}
我的主题是这样的:
<style name="Theme.Calorie_vault" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/white</item>
<item name="colorPrimaryVariant">@color/light_teal</item>
<item name="colorOnPrimary">@color/black</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/light_teal</item>
<item name="colorSecondaryVariant">@color/light_teal</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">@android:color/transparent</item>
<item name="android:enforceStatusBarContrast">false</item>
<!-- Customize your theme here. -->
<item name="android:enforceNavigationBarContrast">false</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">true</item>
</style>
但我添加的那些插图并不透明。这是一张他们看起来的照片:屏幕截图。请注意,手势导航栏的颜色不同。
如何去除插图的颜色?
将视图的背景设置为透明。
只有在第一次打开应用程序时,半透明的状态栏才会出现问题。请看屏幕截图: http://i1335.photobucket.com/albums/w673/ductruongcntt/Screenshot_2014-06-26-14-17-26_zps1e9a56f4.png 以下是我使用的样式的XML,其中包括半透明状态栏: 我的主题是:
我一直在寻找一种方法,在状态栏完全透明(而不是半透明)的情况下重新给导航栏上色。要使状态栏完全透明,需要将布局标志设置为无限制,但这也会使导航栏失去颜色。有没有办法做到这一点?
我知道这个问题已经被问过很多次了,但是所有的答案要么不起作用,要么使用不推荐的代码: Android完全透明的状态栏 透明状态栏-Android 4.4(KitKat)之前的版本 Lollipop:在状态栏后面绘制,颜色设置为透明 我想实现与最新的谷歌地图应用程序相同的效果: 完全透明的状态栏(只有状态栏,而不是导航栏!) 部分工作,因为它还隐藏了导航栏
我想制作一个完全透明的状态栏和导航栏,就像Google Play那样。当我使用窗口设置来实现它时,键盘会覆盖编辑文本。 当此代码使用键盘输入覆盖的编辑文本时: 此外,该代码并没有使其完全透明,它只是使其半透明 还是这个
我不确定这是否可行,但我正在尝试在不使状态栏透明的情况下使导航栏透明。之所以选择后者,是因为我有一个工具栏,如果不是这样的话,它会在状态栏后面绘制。 现在,我正在使用一个fakeStatusBar布局,它显示在状态栏之前,这样用户就可以看到所有的东西: 唯一的问题是,在进行多任务处理时,缩略图看起来不太好,因为工具栏不在它应该位于的位置。
我正在尝试为一个学校项目制作我的第一个应用程序。我有时会通过跟随其他人的问题和答案来获得半透明的状态栏,但是导航只是变成灰色,但是没有活动的内容,但是抽屉菜单在状态栏和导航栏下面绘制,我如何使活动也在状态栏和导航栏下面绘制? 在此处输入图像描述 在此处输入图像描述 在onCreate下,图2的代码为: WindowManager。布局参数。旗帜(半透明导航); 我试过使用android:fitsy