我想找到一種方法來強制顯示Android ICS中的三點下拉菜單。我知道它應該顯示何時缺少設置/菜單的硬按鈕。你可以在Android ICS中強制顯示三點下拉選項菜單嗎?
這裏是我指的是截圖:
http://cdn.gottabemobile.com/wp-content/uploads/2011/12/ICS-Screen05.jpg
謝謝!
我想找到一種方法來強制顯示Android ICS中的三點下拉菜單。我知道它應該顯示何時缺少設置/菜單的硬按鈕。你可以在Android ICS中強制顯示三點下拉選項菜單嗎?
這裏是我指的是截圖:
http://cdn.gottabemobile.com/wp-content/uploads/2011/12/ICS-Screen05.jpg
謝謝!
您可以使用菜單XML中的android:showAsAction="never"
強制項目出現在溢出菜單中。但是,如果您的設備具有硬件菜單鍵,則不會顯示溢出。你必須用一個你點擊的物品做一些裝飾,然後放下一個自定義的上下文菜單或其他東西。
我用我的應用程序也遇到了這個問題,儘管我更願意強制執行此操作,但最好還是使用預期的平臺行爲並將其保留到菜單按鈕上。
我同意你的意見,我們決定堅持約定。 – agchou
似乎與操作欄存在太多不一致。在我看來,選項菜單更加一致。 –
所以,結果很簡單,我最近在我的應用程序中實現。
需要在溢出菜單中顯示其嵌套一個菜單項下如下的項目:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/empty"
android:orderInCategory="101"
android:showAsAction="always"
android:icon="@drawable/ic_action_overflow">
<menu>
<item
android:id="@+id/action_settings"
android:orderInCategory="96"
android:showAsAction="never"
android:title="@string/menu_settings"
android:icon="@drawable/ic_action_settings"/>
<item
android:id="@+id/action_share"
android:orderInCategory="97"
android:showAsAction="never"
android:title="@string/menu_share"
android:icon="@drawable/ic_action_share"/>
<item
android:id="@+id/action_rate"
android:orderInCategory="98"
android:showAsAction="never"
android:title="@string/menu_rate"
android:icon="@drawable/ic_action_important"/>
<item
android:id="@+id/action_feedback"
android:orderInCategory="99"
android:showAsAction="never"
android:title="@string/menu_feedback"
android:icon="@drawable/ic_action_edit"/>
</menu>
</item>
</menu>
現在,編輯如下主要活動文件:
package com.example.test;
//all your import statements go here
Menu mainMenu=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
mainMenu=menu;
return true; }
//Menu press should open 3 dot menu
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode==KeyEvent.KEYCODE_MENU) {
mainMenu.performIdentifierAction(R.id.empty, 0);
return true; }
return super.onKeyDown(keyCode, event); }
[什麼您是否嘗試過?](http://whathaveyoutried.com/) –
我們只是將相同樣式的下拉菜單放在一起,但如果由於缺少硬件菜單鍵而出現溢出菜單。 – agchou