Android 如何在EditText处于非活动状态时设置提示位置

Android 如何在EditText处于非活动状态时设置提示位置,android,xamarin.android,Android,Xamarin.android,当我在我的EditText中调整了一些不活动的值时,如下图所示: 当我从处于非活动状态的EditText中删除一个值时,它如下所示: 是否可以设置TextInputLayer或TextInputItemText的某些属性以在非活动状态下获得如下行为: 根据文档,您应该将编辑文本包装在TextInputLayout中,如下所示: <com.google.android.material.textfield.TextInputLayout android:layout_

当我在我的EditText中调整了一些不活动的值时,如下图所示:

当我从处于非活动状态的EditText中删除一个值时,它如下所示:

是否可以设置TextInputLayer或TextInputItemText的某些属性以在非活动状态下获得如下行为:

根据文档,您应该将编辑文本包装在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。在这个组件内部,我实现了一个处理空输入的方法。和你提到的贝娄一样。