自定义操作栏选项按钮未在Android 4.4中显示

时间:2018-02-06 13:04:03

标签: android android-actionbar

我在操作栏上制作了自定义的optionButton图标。这工作正常,但在我的旧平板电脑上,android 4.4只显示标准图标。

我已将图标设置为:

<style name="OptionButton" parent="android:style/Widget.Holo.Light.ActionButton">
    <item name="android:src">@drawable/icon_option</item>
</style>

我有什么想法可以解决这个问题吗?

修改

我的菜单xml:

<menu xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/donebutton"
    android:orderInCategory="100"
    android:title="@string/ud_menu_save"
    app:showAsAction="always"
    android:visible="false"/>
<item
    android:id="@+id/searchmenubutton"
    android:orderInCategory="100"
    android:icon="@drawable/search_icon"
    android:title="search"
    app:showAsAction="always" />
<item
    android:id="@+id/anfordern"
    android:icon="@drawable/weather_edit_white"
    android:title="@string/basket_offerte" />
<item
    android:id="@+id/edit"
    android:icon="@drawable/weather_edit_white"
    android:title="@string/basket_edit" />
</menu>

项目文件夹中的mipmapitems:

enter image description here

膨胀选项菜单:

 @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){
    super.onCreateOptionsMenu(menu, inflater);

    getActivity().getMenuInflater().inflate(R.menu.basket_detail_option_menu,menu);
}

在模拟器上它起作用: enter image description here

在我的旧平板电脑上它不起作用(显示标准白色图标): enter image description here

1 个答案:

答案 0 :(得分:0)

使用此网站将图片转换为不同尺寸:romannurik.github.io

将您的图片添加到Android工作室res - &gt; mipmap文件夹(逐个)

这些是不同的图像尺寸:

ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi

然后使用:

<style name="OptionButton" parent="android:style/Widget.Holo.Light.ActionButton">
<item name="android:src">@mipmap/icon_option</item>

将xml更改为我的xml代码:

 <menu xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/donebutton"
    android:orderInCategory="100"
    android:title="@string/ud_menu_save"
    app:showAsAction="always"
    android:visible="false"/>
<item
    android:id="@+id/searchmenubutton"
    android:orderInCategory="100"
    android:icon="@drawable/search_icon"
    android:title="search"
    android:showAsAction="ifRoom|withText"
    android:visible="false" />
<item
    android:id="@+id/anfordern"
    android:icon="@drawable/weather_edit_white"
    android:title="@string/basket_offerte" />
<item
    android:id="@+id/edit"
    android:icon="@drawable/weather_edit_white"
    android:title="@string/basket_edit" />
</menu>