【问题标题】:Xamarin.Forms + Master Detail + TalkBack on AndroindXamarin.Forms + 主详细信息 + Android 上的 TalkBack
【发布时间】:2018-09-14 13:44:30
【问题描述】:

我为 NavigationPageRenderer 制作了自定义渲染器,但我无法更改汉堡菜单按钮 ContentDescription。它将汉堡菜单按钮读作“确定”按钮。你有什么想法吗?

【问题讨论】:

  • @ChrisCM 你推荐哪个跨平台?

标签: android xamarin.forms master-pages talkback


【解决方案1】:

在 Android 平台上是ImageButton。所以你可以改变这个汉堡按钮的图片来源来实现这个功能。

您可以使用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));
        }
    }
}

【讨论】:

  • 你能帮我处理我的 .resx 文件吗?我怎样才能把它们弄到那里?
  • @MilanMiNoMichalec,我建议您在 SO 中针对您的问题开一张新票,:)
猜你喜欢
  • 1970-01-01
  • 2014-11-08
  • 1970-01-01
  • 2014-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-06
相关资源
最近更新 更多