我正在尝试将AcionBar添加到我的应用程序中 我创建了一个BaseActivity,其中所有其他活动都扩展了它:
BaseActivity.java
public class BaseActivity extends ActionBarActivity{
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
return super.onCreateOptionsMenu(menu);
}
}
MainActivity.java
public class Main extends BaseActivity {
// other code..
}
的AndroidManifest.xml:
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/BaseTheme" >
<activity
android:name="omar.asd.Main"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
的themes.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="BaseTheme" parent="@style/Theme.AppCompat.Light">
<!-- hide the Window Title -->
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<!-- You could change the scrollbar, checkbox style, anything! -->
</style>
</resources>
如您所见,我创建了一个自定义主题BaseTheme,将“Theme.AppCompat.Light”应用于所有应用程序..
问题是ActionBar没有出现在任何活动中..
为什么会这样?
答案 0 :(得分:1)
<!-- hide the Window Title -->
<item name="android:windowNoTitle">true</item>
您的应用主题不是标题,因此ActionBar不可能出现在任何活动中
答案 1 :(得分:0)
在styles.xml
中为ActionBar添加样式 <style name="CustomWindowTitleBackground">
<item name="android:background">#1998ca</item>
<item name="android:paddingLeft">15dip</item>
<item name="android:textColor">@android:color/white</item>
</style>
然后在BaseTheme中添加这两项
<item name="android:windowTitleSize">40dip</item>
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
并从BaseTheme中删除此项目
<item name="android:windowNoTitle">true</item>