2012-01-07 79 views
1

我有一個菜單(當用戶點擊默認菜單按鈕時出現),其中我有四個項目。所以我使用下面的代碼來顯示菜單。問題是兩個行中有四個項目(2x2)。是否可以單行顯示?單行設置四個菜單項

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 

     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.editshare, menu); 
     return true; 
    } 

菜單/ editshare.xml

<item android:id="@+id/item1" 
      android:icon="@drawable/icon" 
      android:title="item1" /> 
     <item android:id="@+id/item2" 
      android:icon="@drawable/icon" 
      android:title="item" /> 
     <item android:id="@+id/item3" 
      android:icon="@drawable/icon" 
      android:title="item3" /> 
    <item android:id="@+id/item4" 
      android:icon="@drawable/icon" 
      android:title="item4" /> 


</menu> 

回答

0

其Android菜單項的默認行爲,它不能被改變。

0

這就是所謂的通用性:P您必須認爲Android非常智能,因此它將在具有較低分辨率/密度的手機上以2行顯示,並且在手機(或方向)上以較大的分辨率/密度:)

0

你不能在Android的單行顯示四個菜單。這由系統控制。 您可以使用layout_weight =「1.0」的四個按鈕,但這會使用您的UI空間。

2

我認爲這是不可能的默認菜單,但您可以創建一個自定義菜單類型,並顯示它時,菜單按鈕被按下。並在選擇任何選項時隱藏。

你可以說它是一個透明的滑塊,當你點擊菜單按鈕時彈出。並在選擇選項或再次按下菜單時隱藏它...

+1

好主意+1。是的,如果您可以捕捉菜單按鈕並使用帶有4個按鈕的「LinearLayout」作爲內容的'SlidingDrawer'。只需做到這一點'SlidingDrawer'沒有句柄,並控制代碼中的向上/向下滑動。 – Squonk 2012-01-07 10:23:12