我已经对这个主题做了一些研究,我找不到一个完整的解决方案,所以,一步一步,经过一些反复试验,我终于找到了如何实现这些结果:透明或有色Actionbar和Statusbar.请看下面的答案.
android android-appcompat android-actionbar android-toolbar android-statusbar
这是自我问答帖 我有透明的ActionBar覆盖布局.迁移到最新的支持库后,我被迫摆脱了ActionBar,转而使用工具栏.使其透明并覆盖该布局的旧方法不再适用.
<style name="CustomActionBarTheme" parent="@android:style/Theme.AppCompat">
<item name="android:windowActionBarOverlay">true</item>
<item name="windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/TransparentActionBar</item>
</style>
<style name="TransparentActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud) 我创建了一个ToolBar我设置为my ActionBar并且我将其透明,我的问题是我希望它覆盖其余的内容,现在它表现得像一个正常的ActionBar地方,我的LinearLayout"停止"在它下面.如何使我的ToolBar叠加层布局并使该布局填满整个屏幕?
原作的风格ActionBar只是:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowActionBarOverlay">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我的ToolBar:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"
android:layout_width="match_parent"
android:layout_height="200dp"
android:minHeight="?attr/actionBarSize"
android:background="@android:color/transparent"/>
Run Code Online (Sandbox Code Playgroud)
和我的ToolBar声明:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setBackgroundResource(Color.TRANSPARENT);
setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)
我觉得我错过了一些非常简单的东西,但在搜索后我找不到我正在寻找的解决方案.任何帮助,将不胜感激!
编辑:这是我的完整XML主要布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@android:color/transparent"/>
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Main layout -->
<FrameLayout
android:id="@+id/main_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Nav drawer -->
<fragment
android:id="@+id/fragment_drawer"
android:name="rsay.android.scrollbanner.NavigationDrawerFragment"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent" …Run Code Online (Sandbox Code Playgroud) 有没有办法制作新的Android支持工具栏:
android.support.v7.widget.Toolbar
Run Code Online (Sandbox Code Playgroud)
有透明的背景吗?
我尝试将其设置colorPrimary为ARGB(#00ffffff),但它只是给了我一个坚实的灰色条.并且Toolbar只允许我设置背景可绘制.是否可以将背景绘制为透明PNG,或者有更好的方法吗?
理想情况下,我可以在代码/动画中执行它,以便某些活动具有透明条,而某些活动则没有.
提前致谢.