[英]How to properly extend TextInputLayout.java
public class PhoneInputLayout extends TextInputLayout {
public void setPhoneNumberEditText(TextInputEditText
phoneNumberEditText) {
this.phoneNumberEditText = phoneNumberEditText;
}
private TextInputEditText phoneNumberEditText;
public PhoneInputLayout(Context context ) {
super(context);
}
public PhoneInputLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override public void setError(@Nullable CharSequence error) {
phoneNumberEditText.setPaddingRelative(phoneNumberEditText.getPaddingStart() - getPadding(R.dimen.account_info_margin),
phoneNumberEditText.getPaddingTop(),
phoneNumberEditText.getPaddingEnd(),
phoneNumberEditText.getPaddingBottom());
super.setError(error);
}
private int getPadding(int paddingId) {
float scale = this.getContext().getResources().getDisplayMetrics().density;
return (int) (this.getContext().getResources().getDimension(paddingId) * scale + 0.5f);
}
}
Android框架中定义的所有视图类都扩展了View。 您的自定义视图也可以直接扩展“视图”。此代码不在字段上显示光标。 我想了解如何正确扩展TextInputLayout类
我不知道为什么要为TextInputLayout创建自定义视图。 以下是在字段上使用光标的良好工作。
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:hint="Phone Number"
android:labelFor="@id/card_input_password"
android:paddingStart="12dp"
android:textColorHint="@color/text_tertiary_black"
app:errorEnabled="true"
app:hintTextAppearance="@style/TextInputLayoutFlybuysTheme">
<EditText
android:id="@id/card_input_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top|start"
android:inputType="phone" />
</android.support.design.widget.TextInputLayout>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.