ActionBar没有出现在任何活动中

时间:2014-02-24 07:03:47

标签: android android-actionbar

我正在尝试将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没有出现在任何活动中..

为什么会这样?

2 个答案:

答案 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>