当前位置: 首页 > 知识库问答 >
问题:

材料设计:动态改变编辑文本的颜色

慕容聪
2023-03-14

这是我的材料风格

<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的颜色将使用色彩控制正常

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

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

[更新]

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

共有1个答案

施阎宝
2023-03-14

试着这样做

youreditText.getBackground().setColorFilter(getResources().getColor(R.color.YourColor), PorterDuff.Mode.SRC_ATOP);
 类似资料:
  • 简单地说,我不想使用第三方库,我只想知道是否可以使用android支持库以及如何做到这一点。

  • 我试图在一个简单的react三纤维场景中动态更改“.gltf”模型的纹理贴图值。如果我理解正确,您必须在材质上添加纹理文件,然后将材质添加到模型中?在我的场景中,纹理文件被烘焙到“.gltf”文件中。我想用jsx更改alphaMap的不透明度等值。 这是我的沙箱:https://codesandbox.io/s/patient-framework-3holn?file=/src/App.js 我知

  • 我实际上正在尝试在我的应用程序中使用彩色图标。我已经从这里下载了官方材料设计图标包。现在,此包中的所有图标都是白色,灰色或黑色。但我希望图标具有不同的颜色。类似于此图像中左侧的图标。电话和邮件图标为蓝色。我怎样才能做到这一点?

  • 我有阅读材料设计指南,但我不知道如果波纹不是黑色(带有alpha),它应该是什么颜色。 例如,我有一个应用程序,colorPrimary=blue,colorAccent=red。事实上,我使用的是colorAccent(带有alpha),如果我想要与ripple不同的黑色,我应该使用colorPrimary(带有alpha)? 我检查了谷歌的所有应用程序,但他们从不使用彩色涟漪。 像我现在这样的

  • 我在中有一个,底线颜色不是我想要的,我不知道如何更改它。 这是我到目前为止所拥有的。 出于某种不起作用的奇怪原因,应该是它。