2011-09-02 74 views
0

使用Xoom平板電腦和屏幕底部的菜單(選項)按鈕不亮(未激活)。菜單不起作用

有什麼建議嗎?

@Override 
public boolean onCreateOptionsMenu (Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.option_menu, menu); 
    return true; 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection  
    switch (item.getItemId()) {  
    case R.id.about: 
     about();   
     return true;  
    default:   
     return super.onOptionsItemSelected(item);  
    } 
} 
private void about() { 
    AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 
    alertDialog.setTitle("About"); 
    alertDialog.setMessage("App v1.0"); 
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
      // here you can add functions 
     } 
    }); 
    alertDialog.setIcon(R.drawable.icon); 
    alertDialog.show(); 

} 
+0

它們是否出現在ActionBar中? – kabuko

+0

不,我的應用程序中沒有ActionBar。 – user899641

+0

只是一個無關的提示:如果你只想要「OK」按鈕來處理對話,你不需要那個沒有操作的'DialogInterface.OnClickListener' - 只需要寫'alertDialog.setButton(「OK」,null) '。 'AlertDialog'在按下按鈕後自動處理對話框。 –

回答

0

我想通了..

我的目標和分SDK是:

android:targetSdkVersion="11"

android:minSdkVersion="11"

更改爲:

android:targetSdkVersion="11"

android:minSdkVersion="10"

菜單按鈕在11及以上時不起作用。

1

Android 3.0+系統欄上顯示的菜單鍵是運行較舊應用程序的兼容性功能。設置targetSdkVersion =「10」表示您未開發針對Android 3.0+的應用,系統會相應地調整您的應用的兼容性行爲。

如果您確實正在編寫應用程序以在Android 3.0+平板電腦上運行,則系統欄上不會顯示菜單鍵。忘掉它。把它放在你的腦海裏。 :)以這種方式濫用兼容性功能會明確違反Android UI設計準則。如果存在,操作欄將顯示您的活動的選項菜單。如果您的活動中沒有操作欄,則應使用其他一些屏幕上的可供件來提供選項。