1

我开发了一个自己的类,它扩展了EditText。 但我的自定义视图与正常视图具有其他外观。自定义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下方,第三个视图看起来不同。

+0

尝试添加'风格=“@风格/ Widget.AppCompat.EditText “'在你自定义的'EditText'中 – Rami

+0

谢谢!这工作 – Fabian

回答

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"/> 
1

对于应用colorAccent刚刚从android.support.v7.widget.AppCompatEditText延长您的自定义的EditText类