Android Action Bar三点不显示

前端之家收集整理的这篇文章主要介绍了Android Action Bar三点不显示前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请帮忙,
我做了一个自定义菜单(添加支持库)(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放入三个点(动作栏),而不是硬件菜单按钮(没有任何黑客).

主要活动

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

解决方法

没有任何黑客,你不能在所有设备上这样做.那些具有硬件菜单按钮的设备(我不知道是否绝对全部)将使用它而不是溢出按钮(…).

哪一种,是一件好事.这些设备的用户用于按菜单按钮进入菜单.所以对他们来说,缺少溢出按钮是正常的行为.

对于那些使用溢出按钮的设备,Android将根据您在showAsAction标签中的提示来决定自己的内容.这取决于屏幕尺寸,方向等等. This page有一张表,显示有多少个图标显示(其余的显示到溢出菜单).

猜你在找的Android相关文章