Android 如何在EditText处于非活动状态时设置提示位置
当我在我的EditText中调整了一些不活动的值时,如下图所示: 当我从处于非活动状态的EditText中删除一个值时,它如下所示: 是否可以设置TextInputLayer或TextInputItemText的某些属性以在非活动状态下获得如下行为:Android 如何在EditText处于非活动状态时设置提示位置,android,xamarin.android,Android,Xamarin.android,当我在我的EditText中调整了一些不活动的值时,如下图所示: 当我从处于非活动状态的EditText中删除一个值时,它如下所示: 是否可以设置TextInputLayer或TextInputItemText的某些属性以在非活动状态下获得如下行为: 根据文档,您应该将编辑文本包装在TextInputLayout中,如下所示: <com.google.android.material.textfield.TextInputLayout android:layout_
根据文档,您应该将编辑文本包装在TextInputLayout中,如下所示:
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/form_username">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</com.google.android.material.textfield.TextInputLayout>
还要确保应用程序的gradle构建文件中包含材质设计库。希望这有帮助:)我认为这是
textinputtext
与TextInputLayout
的默认行为,有一些属性可以直接设置,但您可以通过进行一些设置来实现,作为一种解决方法:
您可以将FocusChange
事件添加到它,当它不在焦点时,将设置为“
(空值):
TextInputEditText textInputEditText = FindViewById<TextInputEditText>(Resource.Id.editText);
textInputEditText.FocusChange += delegate
{
if (!textInputEditText.IsFocused)
{
if (string.IsNullOrEmpty( textInputEditText.Text))
{
textInputEditText.Text = " ";
}
}
else
{
if (textInputEditText.Text == " ")
{
textInputEditText.Text = "";
}
}
};
textinputtext textinputtext=findviewbyd(Resource.Id.editText);
text输入itext.FocusChange+=委托
{
如果(!textinputtext.IsFocused)
{
if(string.IsNullOrEmpty(textInputItemText.Text))
{
Text输入文本Text.Text=”“;
}
}
其他的
{
如果(textInputItemText.Text==“”)
{
Text输入文本Text.Text=”“;
}
}
};
是的,我也有这个想法,这是我的第二个计划。但我想知道在XML级别是否存在某种解决方案。@Sobansky是的,但我不认为有一个属性可以直接在XML中设置。它现在可以工作了吗?@LeoZhu MSFT是的,我制作了自己的组件,它继承了TextInputItemText。在这个组件内部,我实现了一个处理空输入的方法。和你提到的贝娄一样。