I am using TextInputLayout
with the design support library 22.2.1.
I set the value of the EditText
programmatically, and when the screen appears, I can see that the hint of the TextInputLayout
overlaps the text inside, before moving in the floating position.
Here a simple layout:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="hint1" />
</android.support.design.widget.TextInputLayout>
In my Activity
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
EditText e1 = (EditText) findViewById(R.id.editText1);
e1.setText("TEXT TEST 1");
}
Does anyone know a workaround?
Currently the only way to avoid this behavior is to add the EditText
programmatically.
TextInputLayout
without the EditText
. Programmatically or via XML inflation - doesn't matter, but it has to be empty.EditText
and set its text to whatever you need.EditTExt
to the TextInputLayout
.Here's an example:
TextInputLayout til = (TextInputLayout) findViewById(R.id.til);
til.setHint(R.string.hint);
EditText et = new EditText(getContext());
et.setText(value);
til.addView(et);
UPDATED 21/08/2015 WITH DESIGN LIBRARY V23:
With the design support library v23 you can disable the animation:
Just use the setHintAnimationEnabled
method:
textInputLayout.setHintAnimationEnabled(boolean)
Here the issue on Google Tracker.