自定义组件默认样式(无法在当前主题中查找样式)

时间:2017-04-28 13:57:07

标签: android

我想用自定义的方式扩展现有的android小部件,但是我已经陷入困境,我得到以下错误:“无法在当前主题中找到样式'autoCompleteTextViewStyle'。”

我的目标是为这里的特定数据创建自定义组件,或者我在我的应用程序中使用的电话号码或信用卡号,然后我可以编写一次验证码并将其应用到组件类中,所以我不这样做必须为每个字段附加验证器,就像我必须使用标准的EditText字段一样。但除此之外,它们看起来像标准的小部件。

这是我做的:

public class EmailView extends AutoCompleteTextView {
    public EmailView(Context context) {
        super(context);
    }

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

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

试图像这样使用它:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <lu.intech.wega.ui.component.EmailView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</RelativeLayout>

我在一些论坛上看到我应该在styles.xml中声明样式。但我不想为我创建的每个自定义合成器声明一个样式,我只是希望它们看起来与它们的父组件完全一样,我只是在它们上面添加自定义处理但它们看起来都一样。

0 个答案:

没有答案