之前写过小例子,发现菜单栏右上角的那3个点老是显示不出来,今天终于解决了,不废话,先爆照。


我之前的代码menu_main.xml 文件如下

<menu xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    xmlns:app="http://schemas.android.com/apk/res-auto"    tools:context=".DemoActivity">    <item android:id="@+id/action_material"        android:title="Material"        android:orderInCategory="100"        app:showAsAction="never"  />    <item android:id="@+id/action_circles"        android:title="Circles"        android:orderInCategory="100"        app:showAsAction="never"  />    <item android:id="@+id/action_water_drop"        android:title="WaterDrop"        android:orderInCategory="100"        app:showAsAction="never"   />    <item android:id="@+id/action_ring"        android:title="Ring"        android:orderInCategory="100"        app:showAsAction="never"  /></menu>
MainActivity.java文件

package com.example.chenyu.mpandroidcharttest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.ViewConfiguration;import android.widget.Toast;import java.lang.reflect.Field;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.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_material:                Toast.makeText(MainActivity.this, "1", Toast.LENGTH_SHORT).show();                return true;            case R.id.action_circles:                Toast.makeText(MainActivity.this, "2", Toast.LENGTH_SHORT).show();                return true;            case R.id.action_water_drop:                Toast.makeText(MainActivity.this, "3", Toast.LENGTH_SHORT).show();                return true;            case R.id.action_ring:                Toast.makeText(MainActivity.this, "4", Toast.LENGTH_SHORT).show();                return true;        }        return super.onOptionsItemSelected(item);    }}

我的手机是小米2s,然后到网上找了下,可能是手机问题,
在我的Oncreate(){}方法里面调用就可以了

 private void makeActionOverflowMenuShown() {        //devices with hardware menu button (e.g. Samsung Note) don't show action overflow menu        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) {        }    }

所以我的MainActivity.java文件变成如下了

package com.example.chenyu.mpandroidcharttest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.ViewConfiguration;import android.widget.Toast;import java.lang.reflect.Field;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        makeActionOverflowMenuShown();        setContentView(R.layout.activity_main);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.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_material:                Toast.makeText(MainActivity.this, "1", Toast.LENGTH_SHORT).show();                return true;            case R.id.action_circles:                Toast.makeText(MainActivity.this, "2", Toast.LENGTH_SHORT).show();                return true;            case R.id.action_water_drop:                Toast.makeText(MainActivity.this, "3", Toast.LENGTH_SHORT).show();                return true;            case R.id.action_ring:                Toast.makeText(MainActivity.this, "4", Toast.LENGTH_SHORT).show();                return true;        }        return super.onOptionsItemSelected(item);    }    private void makeActionOverflowMenuShown() {        //devices with hardware menu button (e.g. Samsung Note) don't show action overflow menu        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) {        }    }}
修改了之后效果图如下




好了,终于解决了,心里也愉快了点,然后我们可以根据需要改下样式,对了,在那个菜单文件里面要写成

 app:showAsAction="never" 
不要写成android:showAsAction="never" 记住





更多相关文章

  1. 安卓按钮有按下去的效果的实现方法
  2. Android多渠道打包修改资源文件
  3. Android(安卓)Studio JNI
  4. attrs.xml文件中属性类型format值的格式
  5. Android(安卓)Contacts(二)—— SMS 短信 与 Contacts 联系人关联
  6. Android之AppWidgetProvider
  7. Android之AVD安装APK
  8. android media service
  9. Android应用程序的国际化与本地化

随机推荐

  1. android mpeg2ts 流媒体打包MediaMuxer
  2. 学习笔记(七)多线程开发
  3. Android(安卓)AlertDialog对话框自定义风
  4. Android实战技巧之十一:Android(安卓)Stud
  5. 闪避 iPhone?8 月 5 大 Android(安卓)旗舰
  6. Android(安卓)shape学习记录
  7. Android实现的三种翻页功能原理
  8. Android踩坑日记:Android动态权限分析和解
  9. Android(安卓)自定义View金额、价格样式
  10. android fragment新手简单应用(实现界面之