【问题标题】:overflow icon doesnt appear in some android version (4.1.2)在某些 android 版本 (4.1.2) 中不会出现溢出图标
【发布时间】:2016-08-15 07:22:17
【问题描述】:

菜单栏中的溢出图标在某些 android 版本(如 4.1.2)中不会出现,但在 android 版本 5.0、6.0 中可以正常工作..... 另外我想让点击共享项目应该生成一个列表,就像在画廊应用程序中一样......

代码如下:

first.java

@Override
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.menu_main,menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_about) {
            Intent myIntent = new Intent(getApplicationContext(), aboutusActivity.class);
            startActivityForResult(myIntent, 0);
            return true;
        }
        if (id == R.id.share) {
//sharing implementation here
            Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
            sharingIntent.setType("text/plain");
            sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "आरती गणपतीची");
            sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "download kara from google.com/arti-sangrah");
            startActivity(Intent.createChooser(sharingIntent, "Share via"));
        }
        return super.onOptionsItemSelected(item);
    }

menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".first">

<item android:id="@+id/action_about" android:title="About Us"
    android:orderInCategory="100" app:showAsAction="never"
    android:src="@drawable/dot"/>
<item android:id="@+id/share" android:title="Share"
    android:orderInCategory="100" app:showAsAction="never"
    android:src="@drawable/dot"/>
</menu>

styles.xml

<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
<style name="OverFlowStyle"    parent="@style/Widget.AppCompat.Light.ActionButton.Overflow">
    <item name="android:src">@drawable/dot</item>
</style>
<style name="AppTheme1" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="actionOverflowButtonStyle">@style/OverFlowStyle</item>
    <item   name="android:actionOverflowButtonStyle">@style/OverFlowStyle</item>
</style>
</resources>

【问题讨论】:

    标签: java android android-resources android-styles


    【解决方案1】:
    1. 第一次使用always而不是never,这里app:showAsAction="always"或者你可以使用ifRoom

    2. 第二个你只需要用ACTION_SEND创建一个意图,我猜它已经在那里了,所以如果你想做其他事情,试试这个link

    【讨论】:

    • 在 app:showAsAction 中使用 always/ifRoom 会导致操作栏中出现单独的项目...。我希望从溢出图标中显示项目...
    • 如果您要求在操作栏中使用 3 点图标,那么它取决于 android 和设备结构。有些有菜单按钮,所以他们没有菜单溢出图标。
    猜你喜欢
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    相关资源
    最近更新 更多