¿Cómo flotar a la izquierda dibujable con (etiqueta) etiqueta en TextInputLayout?
Estoy usando TextInputLayout y en el que configuré un drawableLeft y cuando hago clic en edittext la etiqueta ya está flotando pero quiero flotar el dibujable izquierdo también con la etiqueta. ¿Cómo puedo lograr, ver la imagen adjunta ...
En este momento, cuando hago clic en "Título", solo la leble está flotando, pero quiero que ambos estén flotando "dibujable a la izquierda" y "etiqueta" cuando están enfocados. Y antes de hacer clic se verá una línea normal como "Fecha de servicio".
Mi código está abajo ...
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/input_layout_cardnum"
>
<ImageView
android:id="@+id/imgLeft"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="bottom"
android:src="@mipmap/ic_launcher"
android:layout_marginBottom="10dp"
/>
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_cardnums"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<EditText
android:id="@+id/cardnumEditTexst"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLength="255"
android:singleLine="true"
android:hint="hello"
android:drawableLeft="@null"
android:paddingLeft="35dp"
/>
</android.support.design.widget.TextInputLayout>
</FrameLayout>
Y en mi código estoy configurando una animación en onFocus para que vaya arriba con la etiqueta
final Animation animation = AnimationUtils.loadAnimation(this,R.anim.anims);
final ImageView imgLeft = (ImageView) findViewById(R.id.imgLeft);
final EditText et = (EditText) findViewById(R.id.cardnumEditTexst);
et.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
@Override
public void onFocusChange(View v, boolean hasFocus)
{
if (hasFocus)
{
if (et.getText().length() == 0)
{
imgLeft.startAnimation(animation);
}
} else
{
if (et.getText().length() == 0)
imgLeft.clearAnimation();
}
}
});
Y mi animación arrojará la vista de la imagen en la parte superior
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:duration="200"
android:interpolator="@android:interpolator/linear"
>
<scale
android:fromXScale="0%"
android:fromYScale="0%"
android:toXScale="60%"
android:toYScale="60%"
android:pivotX="50%"
android:pivotY="50%"
/>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:startOffset="100"
android:fromYDelta="0%"
android:toYDelta="-80%"/>
</set>
Y al configurar esto obtuve, ahora flotar está bien, pero mira elpaddingLeft = "35dp", quiero comenzar desde la posición 0 ver en la primera imagen donde se muestra "Título", quiero decir que no debería haber relleno pero si lo haréeliminar El relleno dejó la pérdida de funcionalidad flotante.