Ank*_*wah 10 android android-actionbar
请帮忙,我做了一个自定义菜单(添加了支持库)(name-> main_activity_actions.xml)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item
android:id="@id/search"
android:icon="@drawable/search"
android:title="@string/search"
yourapp:showAsAction="ifRoom" />
<item
android:id="@id/view_all"
android:title="@string/view_all"
yourapp:showAsAction="never"/>
<item
android:id="@+id/action_settings"
yourapp:showAsAction="never"
android:title="@string/action_settings"/>
Run Code Online (Sandbox Code Playgroud)
现在该怎么做才能将action_settings放入三个点(操作栏),而不是硬件菜单按钮(没有任何黑客攻击).
主要活动
@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_activity_actions, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
好吧,我找到了黑客,但如果有任何其他方式然后让我知道,
哈克
把这个代码放在onCreate
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if(menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception ex) {
// Ignore
}
Run Code Online (Sandbox Code Playgroud)
为此你需要导入
import java.lang.reflect.Field;
import android.view.ViewConfiguration;
Run Code Online (Sandbox Code Playgroud)
Att*_*tif 13
如果要显示三个点,无论设备菜单按钮如何!然后你可以在你的应用程序类'onCreate方法中调用这个方法 -
private void getOverflowMenu() {
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if(menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13608 次 |
| 最近记录: |