Xamarin.Forms + Master Detail + TalkBack на Андроинд

Я сделал пользовательский рендер для NavigationPageRenderer, но я не могу изменить кнопку меню Burger ContentDescription. Он читает кнопку меню бургера как кнопку "ОК". есть предложения?

1 ответ

Решение

Это ImageButton в платформе Android. Таким образом, вы можете изменить источник изображения этой кнопки гамбургера для реализации этой функции.

Вы можете использовать Custom Renderers для создания пользовательских MasterDetailPageВот пример:

[assembly: ExportRenderer(typeof(MasterDetailPage), typeof(MyMasterDetailRenderer))]
...
public class MyMasterDetailRenderer : MasterDetailPageRenderer
{
    public MyMasterDetailRenderer(Context context) : base(context)
    {
    }

    protected override void OnLayout(bool changed, int l, int t, int r, int b)
    {
        base.OnLayout(changed, l, t, r, b);
        var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
        for (var i = 0; i < toolbar.ChildCount; i++)
        {
            var imageButton = toolbar.GetChildAt(i) as ImageButton;

            var drawerArrow = imageButton?.Drawable as DrawerArrowDrawable;
            if (drawerArrow == null)
                continue;

            imageButton.SetImageDrawable(Context.GetDrawable(Resource.Mipmap.hamburger));
        }
    }
}
Другие вопросы по тегам