我想将活动的背景设置为图像而不将ActionBar背景设置为同一图像。我开始使用带有EditText,Button和ActionBar的“Hello,world”应用程序,并添加了以下样式......
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBarTheme</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="windowActionBarOverlay">true</item>
<item name="android:background">@drawable/bg20140804_090625_640_960</item>
</style>
<style name="MyActionBarTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:background">@android:color/transparent</item>
</style>
</resources>
这是应用程序清单......
<uses-sdk android:minSdkVersion="11" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName=".MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.company.android.mysecondapplication.MainActivity" />
</activity>
</application>
我看到的问题是背景图像显示在ActionBar中(失真)。我希望ActionBar是半透明的,并且要显示活动的背景。
这就是它的样子,请注意ActionBar背景。另外请注意,正常情况下图标会向左移动(即没有自定义样式),它们会在右侧。
最后,如果您将样式更改为以下内容,则应用程序看起来就像教程一样。
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
</resources>
由于
答案 0 :(得分:2)
将背景图像设置为活动的布局而不是主题,这将导致只有活动将图像作为背景。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/bg20140804_090625_640_960" >
</LinearLayout>
答案 1 :(得分:2)
更改
<item name="android:background">@color/your_color</item>
与
<item name="android:windowBackground">@color/your_color</item>
当然,您可以使用@drawable/your_drawable
。