- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 TextCell
,它在我的 Xamarin Forms
应用的 iOS 端添加了一个披露指示器:
<TextCell Text="Japanese" StyleId="disclosure"/>
我也想为 android 端做同样的事情,但我似乎找不到任何自定义渲染器来做这样的事情。
有没有人能做到这一点?如果有人能指出我的方向,我将不胜感激。
最佳答案
根据 design guidelines , 建议不要在 Android 的订单项上使用右指插入符(披露指示符)。
Don't use right-pointing carets on line items
A common pattern on other platforms is the display of right-pointing carets on line items that allow the user to drill deeper into additional content.
Android does not use such indicators on drill-down line items. Avoid them to stay consistent with the platform and in order to not have the user guess as to what the meaning of those carets may be.
编辑 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;
}
}
}
关于android - Xamarin 表格 : Is it possible to add disclosure indicator in Android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46989358/
我是一名优秀的程序员,十分优秀!