2015-01-13 59 views
-1

我在我的操作欄中有一個溢出菜單,它顯示在上方的操作欄上的某些設備中,以及在下面的操作欄中顯示的其他設備中,我想要在所有設備的上部操作欄上顯示我的溢出菜單。請幫幫我。Android:如何在上方的操作欄上精確顯示溢出菜單

我的溢出菜單:

<item 
android:id="@+id/menu_overflow" 
android:icon="@drawable/color" 
android:orderInCategory="11111" 
android:showAsAction="always"> 
<menu> 
    <item 
     android:id="@+id/whitecolor" 
     android:showAsAction="never" 
     android:icon="@drawable/colorwhite" 
     android:title="white"/> 


    <item 
     android:id="@+id/yellowcolor" 
     android:showAsAction="never" 
     android:icon="@drawable/coloryellow" 
     android:title="yellow"/> 


    <item 
     android:id="@+id/redcolor" 
     android:showAsAction="never" 
     android:icon="@drawable/colorred" 
     android:title="red"/> 


    <item 
     android:id="@+id/bluecolor" 
     android:showAsAction="never" 
     android:icon="@drawable/colorblue" 
     android:title="blue"/> 
</menu> 
</item> 

和我的代碼:

public boolean onOptionsItemSelected(MenuItem menuItem) 
    {  
     switch (menuItem.getItemId()) {   
      case R.id.whitecolor:   

       finish(); 
       break; 
      case R.id.yellowcolor: 

       finish(); 
       break; 
      case R.id.redcolor: 

       finish(); 
       break; 
      case R.id.bluecolor: 

       finish(); 
       break; 
     } 
     return true; 
    } 
+0

您必須使用自定義操作欄菜單來實現此目的。 – chain

+0

請使用android:showAsAction =「always」。如果你想讓你的圖標始終顯示在操作欄的頂部。如果您有任何疑問,請告訴我。 – droidd

+0

@Vivek謝謝,正如你所看到的,我的溢出菜單有android:showAsAction =「always」,但是如果我看到菜單,它仍然顯示在下面的動作欄 – user1579019

回答

0

試試這個。例如。如果你想要更多,然後創建佈局,並將其設置到您的操作欄。

 ActionBar actionBar = getActivity().getActionBar(); 
     actionBar.setDisplayOptions(actionBar.getDisplayOptions() 
       | ActionBar.DISPLAY_SHOW_CUSTOM); 
     ImageView imageView_done = new ImageView(actionBar.getThemedContext()); 
     imageView_done.setScaleType(ImageView.ScaleType.CENTER); 
     imageView_done.setImageResource(R.drawable.ic_action_done); 
     ActionBar.LayoutParams layoutParams = new ActionBar.LayoutParams(
       ActionBar.LayoutParams.WRAP_CONTENT, 
       ActionBar.LayoutParams.WRAP_CONTENT, Gravity.RIGHT 
       | Gravity.CENTER_VERTICAL 
     ); 
     layoutParams.rightMargin = 40; 
     imageView_done.setLayoutParams(layoutParams); 
     actionBar.setCustomView(imageView_done); 
+0

謝謝,我該如何使用它? – user1579019

+0

將您的活動或片段代碼粘貼到您要實施的位置。你必須在你的活動oncreat()中添加這段代碼。 – chain

+0

謝謝,它完全顯示在上方的操作欄中,現在如何使它成爲一個溢出菜單? – user1579019

0

使用材料設計它內置了支持,由於其設計理念

1

如果您開發的應用程序對於Android 2.3.x(API等級10)或更低版本,當用戶按下t時,選項菜單的內容會出現在屏幕的底部他菜單按鈕,如下圖所示。

enter image description here

如果您開發應用Android 3.0的(API級別11)更高,從選項菜單項操作欄中可用。默認情況下,系統將所有項目放置在操作溢出中,用戶可以使用操作欄右側的操作溢出圖標(或通過按設備菜單按鈕(如果可用))來顯示所有項目。爲了能夠快速訪問重要的操作,您可以通過添加android:showAsAction="ifRoom"到相應的<item>元素

enter image description here

OR

嘗試使用Toolbar推動一些項目出現在動作條,你可以展示所有版本和所有設備上的溢出。

相關問題