使用 Materialpickerrender 一旦选择和取消按钮标题在 Xamarin 表单中显示顶部
Using Materialpickerrender once pick and cancel button Title shows top in Xamarin forms
我们在我们的应用程序中使用视觉 material 选择器控件。如果我 select 选择器弹出标题中的任何内容显示顶部和下面的 selected 值。如果我从选择器弹出窗口中单击取消,标题也会显示在顶部。它应该处于默认状态。如何解决此 xamarin 形式 android 和 ios?
内部class CustomMaterialPickerRenderer:MaterialPickerRenderer
{
}
如果我没理解错的话,点击取消按钮时是不是要让标题回到默认位置?
我在 iOS 和 Android 都测试了,问题只出现在 Android 一侧。
Android平台的解决方案:
[assembly: ExportRenderer(typeof(Picker), typeof(MyRenderer), new[] { typeof(VisualMarker.MaterialVisual) })]
namespace FormsApp.Droid
{
class MyRenderer : MaterialPickerRenderer
{
Context _context;
public MyRenderer(Context context) : base(context)
{
_context = context;
}
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
if(Element.IsFocused == false)
{
Control.EditText.ClearFocus();
}
}
}
}
内部class CustomMaterialPickerRenderer:MaterialPickerRenderer {
}
如果我没理解错的话,点击取消按钮时是不是要让标题回到默认位置?
我在 iOS 和 Android 都测试了,问题只出现在 Android 一侧。
Android平台的解决方案:
[assembly: ExportRenderer(typeof(Picker), typeof(MyRenderer), new[] { typeof(VisualMarker.MaterialVisual) })]
namespace FormsApp.Droid
{
class MyRenderer : MaterialPickerRenderer
{
Context _context;
public MyRenderer(Context context) : base(context)
{
_context = context;
}
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
if(Element.IsFocused == false)
{
Control.EditText.ClearFocus();
}
}
}
}