gpt4 book ai didi

Android Action Bar 三点不显示

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:58:13 24 4
gpt4 key购买 nike

请帮忙,我做了一个自定义菜单(添加了支持库)(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"/>

现在我应该怎么做才能将 action_settings 放入三个点(操作栏的),而不是硬件菜单按钮(没有任何 hack)。

主要 Activity

@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;
}

好吧,我已经找到了破解方法,但如果还有其他方法,请告诉我,
破解
把这段代码放在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
}

为此你需要导入

import java.lang.reflect.Field;
import android.view.ViewConfiguration;

最佳答案

如果你想显示三个点,而不考虑设备菜单按钮!然后你可以在你的应用程序类的 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();
}
}

关于Android Action Bar 三点不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19741319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com