所以基本上我的想法是創建一個帶有邊界的浮動標籤EditText。 這種情況是,當EditText不在焦點時,提示應該垂直居中顯示,但是當它被聚焦時,它會在內部展開。帶邊界的TextInput佈局
,其中上方的聚焦和下一個是沒有焦點。
請幫忙。
編輯密碼佈局:
<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:
最初設置填充:
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);
}
}
}
});
這是一個漫長的過程,到h並且每個人都像這樣。建議提供幫助。
把你的XML文件的一些代碼?如果你有 –
你的想法很有趣,那麼你的問題是什麼? – lelloman
如何解決這個問題..我使用了一種方法來動態地改變填充,它有點像工作,但實現起來非常漫長。 我也會附上代碼。 –