[英]Changing icon of another menuitem in Android Studio
I have a menu in ActionBar. 我在ActionBar中有一个菜单。 "gecerlidil" is menu item and "ingilizce" and "turkce" are sub-menu of it. “ 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>
When i click ingilizce
menu item or turkce
menu item gecerlidil
menu icon will change but i couldn't succeed it. 当我单击ingilizce
菜单项或turkce
菜单项gecerlidil
菜单图标将更改,但我无法成功。 I think i will do it in onOptionsItemSelected
function. 我想我会在onOptionsItemSelected
函数中做到这一点。 Thanks for your help 谢谢你的帮助
action bar is deprecated actually in android, so i cant help you... 动作栏实际上已在android中弃用,所以我无法帮助您...
but i recommended you use toolbar, is like action bar but you can do this 但是我建议您使用工具栏,就像操作栏一样,但是您可以这样做
<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>
and you will change this ImageView or ImageButton using a menu xml and onOptionsItemSelected() 然后您将使用菜单xml和onOptionsItemSelected()更改此ImageView或ImageButton
i hope that this will help you 我希望这对您有帮助
declare a global variable private Menu menu;
声明一个全局变量private Menu menu;
In your onCreateOptionsMenu() 在您的onCreateOptionsMenu()中
this.menu = menu;
then in the OptionsItemSelected menu.getItem(0).setIcon(ResourcesCompat.getDrawable(getResources(),R.drawable.ic_launcher,null));
然后在OptionsItemSelected菜单中menu.getItem(0).setIcon(ResourcesCompat.getDrawable(getResources(),R.drawable.ic_launcher,null));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.