Material 设计:动态改变 EditText 的颜色

Material Design: Change EditText's Color Dynamically

这是我的material风格

<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 和 colorAccent。

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

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


[更新]

自定义一个EditTextclass也可以解决这个问题

尝试这样做

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