EditText子类的材质设计

时间:2014-10-31 08:24:49

标签: android material-design

在API 21中,我们可以使用colorAccent来更改小部件的颜色,例如EditTextRadioButton等。但它并不适用于这些小部件的子类。我已尝试this但它就像colorAccent一样,它仅适用于原始小部件。

这有什么解决方案吗?除了必须创建自定义drawable之外,然后将其实现为样式..

3 个答案:

答案 0 :(得分:12)

对于应用colorAccent,只需从中扩展自定义的EditText类 android.support.v7.widget.AppCompatEditText

答案 1 :(得分:11)

实际上,从Android支持22.1开始,你应该继承AppCompatEditText。

答案 2 :(得分:0)

因为,你没有发布任何源代码,我猜你不会从XML布局中膨胀你的视图,而是rater调用新的MyCustomEditText。

正如开发人员网站所述:材料主题设计只能在使用布局过热器加载视图时应用。

这是因为新的材料设计backport与布局膨胀过程挂钩。

另一个原因可能是appcompat v7库在XML布局中找到EditText时仅加载材质设计。它无法识别自定义视图组件。

谷歌计划向公众发布Material backport小部件,他们表示这些小部件目前仍处于开发阶段。您可能希望覆盖这些特殊的backport小部件,它可能会解决您的问题。但是因为它们还没有公开......你不能。