我正在开发一个Xamarin.Forms PCL应用程序我现在正在添加一个设置页面和一个需要密码字段,但由于EntryCells不支持isPassword,我决定添加一个自定义渲染器。
我对iOS版本进行了编码,但它的工作正常,但Android版本并没有为它增色。
我的渲染器
[assembly: ExportRenderer(typeof(PasswordEntryCell), typeof(PasswordEntryCellAndroid))]
namespace SocialNetwork.Droid.Renderers
{
public class PasswordEntryCellAndroid : EntryCellRenderer
{
protected override Android.Views.View GetCellCore(Cell item, Android.Views.View convertView, ViewGroup parent, Context context)
{
var cell = base.GetCellCore(item, convertView, parent, context) as EntryCellView;
if (cell != null)
{
var textField = cell.EditText as TextView;
textField.InputType = global::Android.Text.InputTypes.TextVariationPassword;
}
return cell;
}
}
}
答案 0 :(得分:2)
对于Android.Widget.EditText
设置InputType
和TransformationMethod
var textField = FindViewById<EditText>(Resource.Id.textView1);
textField.InputType = global::Android.Text.InputTypes.TextVariationPassword;
textField.TransformationMethod = new Android.Text.Method.PasswordTransformationMethod();
注意:要显示密码,请将TransformationMethod指定给null
;
注意:您应该将其转换为EditText
var textField = cell.EditText as EditText; // TextView;