Actionbar兼容两组菜单点

时间:2014-01-27 20:46:05

标签: android android-actionbar-compat

我一直在尝试为我的应用添加操作栏。

它正在发挥作用,但并不像我希望的那样好。问题是我有两组三个点用于访问菜单。在操作栏本身,以及我的软键所在的底部。在Nexus 4和Moto X上也是如此。两组按钮都有效。在Note 8上我根本没有按钮(我应该期待顶部动作栏吗?),但是(物理)菜单键可以完成它应该做的事情。

Manifest的摘录

 <uses-sdk android:minSdkVersion="10" />

<application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat" >

login_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/login"
          android:title="@string/menu_login"
          android:icon="@android:drawable/ic_lock_idle_lock"
          app:showAsAction="never"/>
</menu>

来自Login.java的摘录

public class Login extends ActionBarActivity {

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.login_menu, menu);
    return true;
}

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.login:
            handleLogin();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

这是它的外观,任何帮助表示赞赏。

enter image description here

1 个答案:

答案 0 :(得分:0)

根据Say Goodbye to the Menu Button blog post,您需要添加14个或更高的targetSdkVersion

<uses-sdk android:minSdkVersion="10"
          android:targetSdkVersion="19" />

请注意,最好将目标SDK版本设置为您测试应用程序的最高版本,因为它是设置兼容性模式的目标SDK版本,例如您所看到的内容。