Also im Grunde meine Idee ist eine Floating Label EditText mit einer Grenze um ihn zu erstellen. Der Fall ist, wenn der EditText nicht im Fokus ist, sollte der Hinweis vertikal in der Mitte erscheinen, aber wenn er fokussiert ist, wird er nach innen expandieren.TextInput Layout mit Begrenzung
Die obere der fokussierte ist und die untere ist, ohne den Fokus.
Bitte helfen.
Bearbeiten Sie das Passwort Layout:
<RelativeLayout
android:id="@+id/relativePsw"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="@drawable/psw_et_boundary">
<android.support.design.widget.TextInputLayout
android:id="@+id/etPasswordLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:passwordToggleDrawable="@drawable/password_drawable"
app:passwordToggleEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/passwordEt"
style="@style/EditTextCustomHolo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#0000"
android:hint="@string/password"
android:inputType="textPassword"
android:maxLines="1" />
</android.support.design.widget.TextInputLayout>
</RelativeLayout>
Java:
Anfangs Einstellung padding:
mRelativePsw.setPadding(dpToPx(14), 0, dpToPx(14), 0);
mPasswordEt.setPadding(0, dpToPx(10), 0, 0);
OnFocusChange:
mPasswordEt.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean focus) {
if (focus) {
mPasswordEt.setPadding(dpToPx(14), dpToPx((float) 6.3), dpToPx(14), 0);
mRelativePsw.setPadding(0, dpToPx(12), 0, 0);
Utils.showSoftKeyboard(LoginActivity.this, mPasswordEt);
} else {
if (mPasswordEt.getText().toString().trim().equalsIgnoreCase("")) {
mPasswordEt.setPadding(dpToPx(14), 0, dpToPx(14), 0);
mRelativePsw.setPadding(0, dpToPx(10), 0, 0);
}
}
}
});
Es ist ein langwieriger Prozess h andle jede einzelne von ihnen so. So wird Hilfe vorgeschlagen.
einen Code Ihrer XML-Datei einfügen? Wenn du –
hast, ist deine Idee sehr interessant. Was ist deine Frage? – lelloman
Wie es geht .. Ich benutzte eine Methode, in der ich die Auffüllung dynamisch änderte, es funktioniert irgendwie, aber es ist sehr lang zu implementieren. Ich werde den Code auch anhängen. –