更改语言时,顶部菜单出现错误

问题描述 投票:0回答:1

我想改变手机语言变化时的图标.使用此代码绘制顶部菜单.如果手机语言变化,出口图标将被翻转。

如果手机的语言是阿拉伯语及其自然形式,该图标将看起来像这样。enter image description here

如果手机的语言是英语,并且不是正常的和反转的,图标将看起来像这样。enter image description here

<?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/back"
        android:icon="@drawable/menue_backe"
        android:title="close"
        app:showAsAction="ifRoom"/>
</menu>


 public override bool OnCreateOptionsMenu(IMenu menu)
        {
            MenuInflater.Inflate(Resource.Menu.toolbar_menub, menu);
            return base.OnPrepareOptionsMenu(menu);
        }

        public override bool OnOptionsItemSelected(IMenuItem item)
        {
            switch (item.ItemId)
            {
                case Resource.Id.back:
                    //do something

                    Finish();

                    return true;

            }
            return base.OnOptionsItemSelected(item);
        }
        //
xamarin.android
1个回答
1
投票

你可以用下面的方法来改变后退按钮的图标。

ActionBar.SetDisplayHomeAsUpEnabled(true);
ActionBar.SetHomeAsUpIndicator(Resource.Mipmap.Icon); // here modify the image as your need

然后根据需要修改 活动 :

protected override void OnResume()
{
    base.OnResume();

    string locale = Locale.Default.Language;
    //System.Console.WriteLine("-----"+locale);
    if (locale == "en")
    {
        ActionBar.SetDisplayHomeAsUpEnabled(true);
        ActionBar.SetHomeAsUpIndicator(Resource.Mipmap.Icon);
    }
    else
    {
        // other language
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.