java - 如何正确扩展 TextInputLayout.java

标签 java android android-custom-view

    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 类都扩展了View。您的自定义 View 也可以直接扩展 View 此代码不会在字段上显示光标。我想了解如何正确扩展 TextInputLayout 类

最佳答案

我不知道为什么要为 TextInputLayout 创建自定义 View 。 以下内容适用于将光标放在字段上。

<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>

关于java - 如何正确扩展 TextInputLayout.java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46717294/

相关文章:

java - 启动前休息功能失败

android - 计算过去 60 分钟的所有值

android - 如何更改 android SearchView 文本

android - 如何在 Android Studio Navigation Drawer 中设置默认 fragment ?

android - 在 google map v2 android 上绘制

android - 自定义 View 的互斥样式属性?

java 。方法返回 Null。我必须生成什么异常?

javafx粗笔画路径(线)与圆之间的碰撞问题

java - Octave 到 Java - InitializeThetas 函数

android - 二进制XML文件第14行:膨胀自定义ViewGroup类时出错