【问题标题】:Custom EditText - Material Design自定义 EditText - 材料设计
【发布时间】:2015-09-27 18:36:34
【问题描述】:

我开发了一个自己的类,它扩展了 EditText。 但我的自定义视图与普通视图有不同的外观。

public class DateEditText extends EditText {
    [...]

    public DateEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public DateEditText(Context context) {
        super(context);
        init();
    }

    public DateEditText(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init() {
        setInputType(InputType.TYPE_CLASS_DATETIME);
        setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)});
        setFocusable(false);
    }

    [...]
}

前两个输入字段是普通的 EditText。 第三个是我自己的看法。

    <EditText
        android:layout_width="match_parent"
        android:layout_height="56dp"
        android:id="@+id/addTask_title"
        android:textSize="16sp"
        android:maxLength="50"
        android:hint="@string/addTask_title"/>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="56dp"
        android:maxLines="5"
        android:scrollbars="vertical"
        android:inputType="textMultiLine"
        android:id="@+id/addTask_description"
        android:textSize="16sp"
        android:maxLength="400"
        android:hint="@string/addTask_description"/>

    <de.test.DateEditText
        android:layout_width="match_parent"
        android:layout_height="56dp"
        android:id="@+id/addTask_date"
        android:textSize="16sp"
        android:hint="@string/addTask_date"/>

我喜欢我自己的 EditText 和前两个一样的样式,但我不知道如何实现这一点。

在具有 SDK 21 的设备上一切正常,但在 SDK 21 下,第三个视图看起来不同。

【问题讨论】:

  • 尝试在您的自定义EditText中添加style="@style/Widget.AppCompat.EditText"

标签: android android-edittext material-design android-custom-view


【解决方案1】:

在您的自定义EditText 中添加style="@style/Widget.AppCompat.EditText"

例如:

<de.test.DateEditText
        android:layout_width="match_parent"
        android:layout_height="56dp"
        android:id="@+id/addTask_date"
        android:textSize="16sp"
        android:hint="@string/addTask_date"
        style="@style/Widget.AppCompat.EditText"/>

【讨论】:

    【解决方案2】:

    要应用 colorAccent,只需从 android.support.v7.widget.AppCompatEditText 扩展您的自定义 EditText 类

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-09
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      相关资源
      最近更新 更多