Android OverFlow显示,右上角三个点菜单不显示的问题

杨选
2023-12-01

百度原因,手机有实体菜单按键导致工具栏上面不显示菜单按钮,在activity中的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 e) {
            e.printStackTrace();
        }

没有用
后来我发现将

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="468dp"
        android:layout_height="wrap_content"
        android:baselineAligned="false"
        android:theme="@style/AppTheme.AppBarOverlay"
        tools:layout_editor_absoluteX="-16dp"
        tools:layout_editor_absoluteY="-1dp">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="485dp"
        android:layout_height="wrap_content"
        android:background="@color/colorAccent"
        app:popupTheme="@style/AppTheme.PopupOverlay"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />
    </android.support.design.widget.AppBarLayout>

替换成

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>

发现两者的区别就是android:layout_width全部设置成"match_parent"就能够显示OverFlow

 类似资料: