gpt4 book ai didi

android - 样式操作栏使用 Theme.AppCompat

转载 作者:太空宇宙 更新时间:2023-11-03 12:51:49 25 4
gpt4 key购买 nike

我正在接受 android 培训,为操作栏设置样式。

由于 android:theme=@style/MyActionBar,我遇到了错误。

我想知道如何设置操作栏的样式。

 <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyActionBar" >

IllegalStateException: You need to use a Theme.AppCompat theme with this activity

我认为错误来自:

<style name="CustomActionBarTheme"
parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

所以我修改为

<style name="CustomActionBarTheme"
parent="@android:style/Theme.AppCompat.Light ">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

我有以下错误:

error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Theme.AppCompat.Light '.

我按照培训说明创建了一个新文件

res/values/themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->

<style name="MyActionBar"
parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">#aaaaaa</item>
</style>
</resources>

这是 list

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.helloworld"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="21" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyActionBar" >
<activity
android:name="com.example.helloworld.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="com.example.helloworld.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.Helloworld.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.Helloworld.MyActivity" />
</activity>

</application>

</manifest>

最佳答案

按如下方式编辑您的样式:

<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>

<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_background</item>

<!-- Support library compatibility -->
<item name="background">@drawable/actionbar_background</item>
</style>

对于你必须使用的支持库

name="background">@drawable/actionbar_background</item> 

代替

name="android:background">@drawable/actionbar_background</item>

然后在你的 list 中使用这个主题......使用前不要忘记在 build.gradle 中添加 support:appcompact 依赖项,如果你使用的是 Android Studio...谢谢...

关于android - 样式操作栏使用 Theme.AppCompat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29430529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com