繁体   English   中英

更改Android Studio中另一个菜单项的图标

[英]Changing icon of another menuitem in Android Studio

我在ActionBar中有一个菜单。 “ gecerlidil”是菜单项,“ ingilizce”和“ turkce”是其子菜单。

<?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">
    <item android:id="@+id/gecerlidil"
        android:icon="@drawable/ing"
        android:title="ingilizce"
        app:showAsAction="always">
    <menu>
        <item android:id="@+id/ingilizce"
            android:title="EN"
            android:icon="@drawable/ing"/>
        <item android:id="@+id/turkce"
            android:title="TR"
            android:icon="@drawable/tur"/>
    </menu>
        </item>
</menu>

当我单击ingilizce菜单项或turkce菜单项gecerlidil菜单图标将更改,但我无法成功。 我想我会在onOptionsItemSelected函数中做到这一点。 谢谢你的帮助

动作栏实际上已在android中弃用,所以我无法帮助您...

但是我建议您使用工具栏,就像操作栏一样,但是您可以这样做

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_main"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize">

<ImageView
    android:layout_width="156dp"
    android:layout_height="20dp"
    android:src="@drawable/icon"/>

</android.support.v7.widget.Toolbar>

然后您将使用菜单xml和onOptionsItemSelected()更改此ImageView或ImageButton

我希望这对您有帮助

声明一个全局变量private Menu menu;

在您的onCreateOptionsMenu()中

this.menu = menu;

然后在OptionsItemSelected菜单中menu.getItem(0).setIcon(ResourcesCompat.getDrawable(getResources(),R.drawable.ic‌​_launcher,null));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM