我一直在尝试为我的应用添加操作栏。
它正在发挥作用,但并不像我希望的那样好。问题是我有两组三个点用于访问菜单。在操作栏本身,以及我的软键所在的底部。在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);
}
这是它的外观,任何帮助表示赞赏。
答案 0 :(得分:0)
根据Say Goodbye to the Menu Button blog post,您需要添加14个或更高的targetSdkVersion
:
<uses-sdk android:minSdkVersion="10"
android:targetSdkVersion="19" />
请注意,最好将目标SDK版本设置为您测试应用程序的最高版本,因为它是设置兼容性模式的目标SDK版本,例如您所看到的内容。