【发布时间】: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