Android棒棒糖中的透明actionBar和statusBar

一箫一剑平生意,负尽狂名十五年。这篇文章主要讲述Android棒棒糖中的透明actionBar和statusBar相关的知识,希望能为你提供帮助。
我正在尝试创建此接口:

这是我的实际结果:
【Android棒棒糖中的透明actionBar和statusBar】

  • 状态栏透明,我们将图像视为背景:好的
  • 操作栏不透明:NOK
以下是我用于此活动的主题代码:
< ?xml version="1.0" encoding="utf-8"?> < resources> < !-- inherit from the material theme --> < style name="MaterialAppDetailTheme" parent="android:Theme.Material.Light"> < item name="android:statusBarColor"> @android:color/transparent< /item> < item name="android:windowActionBarOverlay"> true< /item> < !-- enable window content transitions --> < item name="android:windowContentTransitions"> true< /item> < !-- specify shared element transitions --> < item name="android:windowSharedElementEnterTransition"> @transition/change_image_transform< /item> < item name="android:windowSharedElementExitTransition"> @transition/change_image_transform< /item> < item name="android:windowTranslucentNavigation"> true< /item> < item name="android:windowTranslucentStatus"> true< /item> < /style> < /resources>

答案您可以将工具栏颜色更改为透明,如下所示:
mToolbar.setBackgroundColor(getResources().getColor(android.R.color.transparent));

您也可以在XML上更改它的背景:
android:background="@android:color/transparent"

或者,如果您正在使用ActionBar:
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(android.R.color.transparent)));

如果你不使用getActionBar(),请使用ActionBarActivity
结果:

另一答案使用这种风格:
< style name="AppTheme" parent="Theme.AppCompat.Light"> < item name="android:textColorPrimary"> @color/my_text_color< /item> < item name="colorPrimary"> @android:color/transparent< /item> < item name="windowActionBarOverlay"> true< /item> < /style>

另一答案对于> = 21的API,将这些代码行添加到主题
< item name="android:windowDrawsSystemBarBackgrounds"> true< /item> < item name="android:statusBarColor"> @android:color/transparent< /item>
别忘了添加
android:fitsSystemWindows="true"

    推荐阅读