Xamarin表单:是否可以在Android中添加披露指标?

3 android xamarin xamarin.forms

在此输入图像描述

我有一个TextCell在我的Xamarin Forms应用程序的iOS端添加了一个披露指标:

<TextCell Text="Japanese" StyleId="disclosure"/>
Run Code Online (Sandbox Code Playgroud)

我也想为android方面做同样的事情,但我似乎无法找到任何自定义渲染器来做这样的事情.

有没有人能够做到这一点?如果有人能指出我那个方向,我真的很感激.

Sha*_*raj 8

根据设计指南,建议不要在Android中的订单项上使用右指向的插入符号(披露指示符).

不要在订单项上使用右指向的插入符号

其他平台上的常见模式是在订单项上显示右向插入符号,允许用户深入钻取其他内容.

Android不会在下钻订单项上使用此类指标.避免它们与平台保持一致,以免让用户猜测这些插入符的含义.

在此输入图像描述

编辑1:

但是,如果您仍想添加指标,则可以使用图像.

下载图标并添加为drawable到android项目.并注册渲染器如下:

[assembly: ExportRenderer(typeof(TextCell), typeof(StandardTextCellRenderer))]
namespace AppNamespace.Droid
{
    public class StandardTextCellRenderer : TextCellRenderer
    {

        protected override Android.Views.View GetCellCore(Cell item, Android.Views.View convertView, Android.Views.ViewGroup parent, Android.Content.Context context)
        {
            var cell = base.GetCellCore(item, convertView, parent, context);

            switch (item.StyleId)
            {
                case "disclosure":
                    var bmp = BitmapFactory.DecodeResource(cell.Resources, Resource.Drawable.ic_chevron_right);
                    var bitmapDrawable = new BitmapDrawable(cell.Resources, Bitmap.CreateScaledBitmap(bmp, 50, 50, true));
                    bitmapDrawable.Gravity = GravityFlags.Right | GravityFlags.CenterVertical;
                    cell.SetBackground(bitmapDrawable);
                    break;
            }
            return cell;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)