2015-11-14 238 views
0

我有一個擴展FragmentActivity的類。不,我想在操作欄中顯示我的菜單項在屏幕的頂部。我怎樣才能做到這一點 ?android片段活動菜單

我已經創建了菜單項,它們是可見的,但菜單的硬件按鈕被按下了,但我想在屏幕頂部顯示它們。

+0

可以ü請添加你想要做 –

+0

您可以隨時使用['AppCompatActivity'(https://developer.android.com/reference/android什麼至少圖像/support/v7/app/AppCompatActivity.html)而不是'FragmentActivity',除非由於某種原因,你僅限於v4支持庫。 – Brucelet

回答

0

基本上,這發生在具有物理菜單按鈕的設備中。在沒有該按鈕的設備中,所有選項都顯示在操作欄中。

您可以通過將「showAlways」添加到所需的項目來強制在操作欄中顯示菜單項。

showAsAction=「always」 

一個小例子

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@+id/action_search" 
      android:icon="@drawable/ic_action_search" 
      android:title="@string/action_search" 
      android:showAsAction="always" /> 


    <item android:id="@+id/action_settings" 
      android:title="@string/action_settings" 
      android:showAsAction="always" /> 
</menu> 

你必須要確保你有一個菜單項足夠的空間。

爲了確保我有足夠的空間,我使用創建一個只有一個項目的菜單。然後,在這個項目裏面,我創建另一個菜單。這樣,只顯示一個按鈕,所有項目都出現在浮動彈出式菜單中。其主要思想是如下:

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@+id/overflow_item" 
      android:icon="@drawable/ic_overflow_icon" 
      android:title="@string/options" 
      android:showAsAction="always" /> 

     <menu> 
      <item android:id="@+id/action_clear" 
        android:title="@string/clear" 
        android:showAsAction="always" /> 
    </menu> 
</menu>