我和我的一个同学在Android Studio上创建了一个项目。问题是他添加了一种风格并且它消失了。我们需要再次添加它,但我们一直在尝试并且无法设法(这是我们第一次使用android)。
我们的AndroidManifest有这个:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name="iuAndroid.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>
</application>
在我们的styles.xml文件中,我们有:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowActionBar">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
我尝试在活动参数中添加android:theme="@style/AppTheme.AppBarOverlay"
,但在调用setContentView(R.layout.activity_main);
时崩溃了。出现此错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{packet.iuandroid/iuAndroid.MainActivity}: android.view.InflateException: Binary XML file line #31: Binary XML file line #31: Error inflating class com.android.internal.widget.ActionBarContainer
有没有人遇到同样的问题?
谢谢!
编辑:忘了添加我正在使用的API是23。
答案 0 :(得分:1)
在Java代码中尝试setHasOptionsMenu(true);
。
答案 1 :(得分:0)
你的风格很好,不会导致操作栏隐藏。确保您的MainActivity继承AppCompactActivity
。
此外,不需要以下项目,您可以将其删除。
<item name="android:windowActionBar">true</item>