是否有可能强制三星Galaxy S3在屏幕的右上角有一个固定的选项菜单,就像在其他流行的手机中一样?在三星Galaxy S3选项菜单仅在菜单按钮下可用。我想在应用程序中的所有类型设备的固定位置放置内置帮助。
我不确定其他类型的手机/平板电脑是否会出现类似问题。
答案 0 :(得分:7)
在您的活动中使用此代码块,其中包含选项菜单。
try {
ViewConfiguration config = ViewConfiguration.get(BaseActivity.this);
Field menuKeyField = ViewConfiguration.class
.getDeclaredField("sHasPermanentMenuKey");
if (menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception e) {
e.printStackTrace();
}
通过此块使用可以从操作栏的右上角访问选项菜单。
即使在单击菜单按钮时在Samsung Galaxy S3上,也会从操作栏右上角打开选项菜单。
尝试使用以下menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:orderInCategory="2"
android:title="Home"/>
<item
android:id="@+id/logs"
android:orderInCategory="3"
android:title="Logs"/>
<item
android:id="@+id/support"
android:orderInCategory="4"
android:title="Support"/>
<item
android:id="@+id/logout"
android:orderInCategory="5"
android:title="Logout"/>
</menu>
答案 1 :(得分:0)
你可以试试这个。在你的活动中:
@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);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
switch (id) {
case R.id.action_whatever:
// do your thing here
return true;
}
return super.onOptionsItemSelected(item);
}
/res/menu/main.xml中的
<item android:id="@+id/action_whatever"
android:title="@string/action_text"
android:orderInCategory="100"
android:icon="@drawable/ic_overflow"
android:showAsAction="always" />