gpt4 book ai didi

android - 自定义 EditText - Material 设计

转载 作者:行者123 更新时间:2023-11-29 20:24:02 26 4
gpt4 key购买 nike

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

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 以下,第三个 View 看起来不同。

最佳答案

在您的自定义 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"/>

关于android - 自定义 EditText - Material 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com