Android的TextInputLayout提示重叠EditText提示

我正面临一个奇怪的问题,我有一个InputTextLayout和一个EditText在里面,我试图实现这样的事情(如下图所示)(图片来自材料设计指导: https : //material.io/guidelines/components /text-fields.html#text-fields-layout ),其中有两个单独的提示。 我正在通过添加android:提示到这两个布局。 这工作正常,但是当焦点离开这个时候,“标签”向下移动并且重叠“占位符”文本。 (只有当用户没有给出任何输入和编辑文本是空的 – 两个提示重叠)。 任何指针如何解决这个问题?

作为一个要求,我需要两个提示在那里,“标签”不应该移动焦点的变化。 这两个提示应该保持在他们的位置上

   

在这里输入图像说明

据我所知,我们不能按你的意愿去做。

因为,TextInputLayout被设计为一旦获得集中就浮动提示所以,一旦它上升,没有什么会在那里的占位符。 我们可以按照以下的细节做你的要求。

        

在这里输入图像说明

     

使用下面的代码。 它应该工作正常。

    

AppcompatEditTextTextInputLayout删除提示

仅在一个AppcompatEditTextTextInputLayout使用android:hint=""

     

有关更多信息, 请查看此链接

完美的一个!

在这里输入图像说明

xml代码

    

Kotlin代码

  edtPhone.hint="" edtPhone.onFocusChangeListener = View.OnFocusChangeListener { _, hasFocus -> inputLayoutPhone.isHintEnabled = hasFocus if(hasFocus){ edtPhone.hint="+91" }else{ edtPhone.hint= "Phone Number" } } 

Java代码

 edtPhone.setHint(""); edtPhone.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View view, boolean hasFocus) { if (hasFocus){ edtPhone.setHint("+91"); }else{ edtPhone.setHint("Phone Number"); } } });