我正在为teme中的所有edittext创建样式。
<style name="edittextStyle">
<item name="android:drawablePadding">10dp</item>
<item name="android:background">@drawable/white_round</item>
<item name="android:textColor">@color/black</item>
<item name="android:textColorHint">@color/gray</item>
<item name="android:singleLine">true</item>
<item name="android:padding">5dp</item>
<item name="android:gravity">center_vertical</item>
</style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:editTextStyle">@style/edittextStyle</item>
<item name="android:textSize">@dimen/font_medium</item>
</style>
它按预期工作,所有edittexts都采用白色背景设计。 但他们没有得到输入。
如果我将样式属性直接放到edittext上,它就会得到输入。我错过了什么?
答案 0 :(得分:5)
得到了@ Alex.F的回答,这就行了。
更改
<style name="edittextStyle">
到
<style name="edittextStyle" parent="Widget.AppCompat.EditText">
答案 1 :(得分:2)
以防任何人遇到类似问题。自定义widget
之类的edittext
时,避免出现问题的最佳方法是继承父类式,例如Widget.DeviceDefault.EditText
。