2015-01-11 64 views
0

我有一個main.xml定義爲:動作條不顯示的菜單項

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:id="@+id/notifications" 
     android:icon="@drawable/ic_notifications" 
     android:title="@string/notifications" /> 
    <item 
     android:id="@+id/reportsView" 
     android:icon="@drawable/ic_reports" 
     android:showAsAction="always" 
     android:title="@string/reportsView" /> 
    <item 
     android:id="@+id/userProfile" 
     android:icon="@drawable/ic_profile" 
     android:title="@string/userProfile" /> 
</menu> 

而且在活動我有這樣的:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

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

但我仍不能看到我的動作欄上的按鈕。誰能告訴我缺少什麼

styles.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <!-- 
     Base application theme, dependent on API level. This theme is replaced 
     by AppBaseTheme from res/values-vXX/styles.xml on newer devices. 
    --> 
    <style name="AppBaseTheme" parent="android:Theme.Light"> 
     <!-- 
      Theme customizations available in newer API levels can go in 
      res/values-vXX/styles.xml, while customizations related to 
      backward-compatibility can go here. 
     --> 
    </style> 

    <!-- Application theme. --> 
    <style name="AppTheme" parent="AppBaseTheme"> 
     <!-- All customizations that are NOT specific to a particular API-level can go here. --> 
    </style> 

    <style name="FullscreenTheme" parent="android:Theme.NoTitleBar"> 
     <item name="android:windowContentOverlay">@null</item> 
     <item name="android:windowBackground">@null</item> 
     <item name="metaButtonBarStyle">@style/ButtonBar</item> 
     <item name="metaButtonBarButtonStyle">@style/ButtonBarButton</item> 
    </style> 

    <style name="ButtonBar"> 
     <item name="android:paddingLeft">2dp</item> 
     <item name="android:paddingTop">5dp</item> 
     <item name="android:paddingRight">2dp</item> 
     <item name="android:paddingBottom">0dp</item> 
     <item name="android:background">@android:drawable/bottom_bar</item> 
    </style> 

    <style name="ButtonBarButton" /> 

</resources> 
+0

什麼主題? – Simas

+0

我已經更新了我的問題了'機器人:主題= 「@風格/ AppTheme」' – Maven

+1

您正在試圖誇大** ** main.xml中,而不是menu.xml文件:'getMenuInflater()膨脹(R.menu.main ,菜單);'。將menu.xml重命名爲'main.xml' **或**將infaltion更改爲'getMenuInflater()。inflate(R.menu.menu,menu);'。 –

回答

0

的項目不會出現在你的動作條,因爲你沒有明確告訴他們可以看到:

android:showAsAction="always" 

如果您正在使用從支持包活動類(如 ActionBarActivity),你還需要使用一個自定義命名空間是這樣的:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:myapp="http://schemas.android.com/apk/res-auto"> 
    <item 
     android:id="@+id/notifications" 
     android:icon="@drawable/ic_notifications" 
     myapp:showAsAction="always" 
     android:title="@string/notifications" /> 
    <item 
     android:id="@+id/reportsView" 
     android:icon="@drawable/ic_reports" 
     myapp:showAsAction="always" 
     android:title="@string/reportsView" /> 
    <item 
     android:id="@+id/userProfile" 
     android:icon="@drawable/ic_profile" 
     myapp:showAsAction="always" 
     android:title="@string/userProfile" /> 
</menu> 

+0

嘗試,並已與此更新的代碼,但仍然沒有改變 – Maven

+0

@Maven你擴展什麼活動課? – Simas

+0

我有兩個活動,一個從'FragmentActivity'擴展,另一個來自'Activity'問題,兩者都是相同的。 – Maven

0

這是不是真的有說服力,但也忽略這個..

@Override 
public boolean onPrepareOptionsMenu(Menu menu) { 
    // TODO Auto-generated method stub 
    return true //return super.onPrepareOptionsMenu(menu); 
} 

或者清理項目..您使用restart..do所有