2011-09-02 75 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设计准则。如果存在,操作栏将显示您的活动的选项菜单。如果您的活动中没有操作栏,则应使用其他一些屏幕上的可供件来提供选项。