我有TextCell
在我的Xamarin Forms
应用的iOS端添加了一个披露指标:
<TextCell Text="Japanese" StyleId="disclosure"/>
我也想为android方面做同样的事情,但我似乎无法找到任何自定义渲染器来做这样的事情。
有没有人能够做到这一点?如果有人能指出我那个方向,我真的很感激。
答案 0 :(得分:7)
根据design guidelines,建议不要在Android中的订单项上使用右指向的插入符号(披露指示符)。
不要在订单项上使用右指向的插入符号
其他平台上的一个常见模式是在订单项上显示右向插入符号,允许用户深入钻取其他内容。
Android不会在下钻订单项上使用此类指标。避免它们与平台保持一致,以免让用户猜测这些插入符的含义。
编辑1:
但是如果您仍想添加指标,可以使用图像。
Download the icon并添加为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;
}
}
}