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);
这是我的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);