材质设计:动态更改EditText的颜色

时间:2015-03-11 04:08:57

标签: android android-edittext material-design

这是我的材料风格

<style name="AppTheme.Base" parent="Theme.AppCompat">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="colorControlNormal">@color/colorControlNormal</item>
    <item name="android:windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
</style>

如果我从XML创建EditText(或其他组件),EditText的颜色将使用colorControlNormal&amp; colorAccent。

但是当我动态创建EditText时,它不会使用这些颜色。 (变黑)

如何设置组件的样式或动态更改颜色?


[UPDATE]

自定义EditText类也可以解决这个问题。

1 个答案:

答案 0 :(得分:3)

尝试这样做

youreditText.getBackground().setColorFilter(getResources().getColor(R.color.YourColor), PorterDuff.Mode.SRC_ATOP);