我正在使用AppCompatActivity
以下
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/red"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:navigationIcon="@mipmap/app_icon"
/>
</android.support.design.widget.AppBarLayout>
让我们说背景设置为红色,在主要活动中很好,但我的其他活动在打开时恢复为默认蓝色。 我错过了什么?
编辑:我不是说要设置活动的背景,而只是设置工具栏。
答案 0 :(得分:1)
如果您想在一个地方为所有活动设置背景,这个答案会有所帮助: https://stackoverflow.com/a/37799081/2318843
答案 1 :(得分:1)
如果您想在应用中的每个位置使用背景,则可以在应用样式(<item name="android:background">@drawable/background</item>
)中添加此<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
。
确定对于工具栏,像这样创建单独的xml布局
<?xml version="1.0" encoding="utf-8"?>
<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"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="@drawable/backgroundImage"//<--Add your background here
android:elevation="1dp"
app:layout_collapseMode="pin">
<com.trptic.driver.widgets.TTextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:maxLines="1"
android:textColor="@color/black"
android:textSize="@dimen/_14sdp" />
</android.support.v7.widget.Toolbar>
现在将它包含在您想要的任何地方!像
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:font="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<include layout="@layout/toolbar" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
....
</FrameLayout>
</LinearLayout>
答案 2 :(得分:0)
也要在其他活动中设置:android:background="@drawable/red"
。
答案 3 :(得分:0)
Put this line in all activity : android:background="@drawable/red"
答案 4 :(得分:0)
如果您只想为所有活动使用一个背景,那么只需在您的应用主题中创建一个背景标记,因为您将该主题应用于每个活动,它将自动添加到那里,您不需要添加还有一行,如果你想改变一个主题的背景,打开那个活动的xml并在那里添加背景标签,它会将该背景添加到该特定活动。
答案 5 :(得分:0)
需要在 xml 文件中进行一些更改.. 您必须在工具栏 控件中添加以下内容。
android:background="@drawable/red"
您使用的每个地方工具栏 控制都是这样。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:navigationIcon="@mipmap/app_icon"
/>
在每个 xml 文件中更改控件的背景 。