gpt4 book ai didi

android - 如何控制文字的对比度?

转载 作者:搜寻专家 更新时间:2023-11-01 09:14:26 24 4
gpt4 key购买 nike

当背景发生变化时,如何改变文本的颜色对比度?例如,如果我有一个黑色背景,黑色文本将不可见。

最佳答案

这可能会有帮助:http://developer.android.com/guide/topics/resources/color-list-resource.html

这是一种可以设置颜色的方法,该颜色会根据特定情况发生变化。

例如,假设您有一个 TextView,您希望它在启用时显示白色文本,在禁用时显示黑色文本。您可以使用上面链接中的引用在 xml 文件中进行设置,然后在您定义 TextView 的 xml 布局中将 android:textColor 设置为@color/my_text_color。 (my_text_color 是您创建的 xml 颜色列表文件)

然后,当 TextView 从启用更改为禁用(或您最终在 xml 文件中设置的任何内容)时,颜色也会自动更改。

这是一种方法。但是,您可能想尝试澄清您要查找的内容,因为您的问题中并不十分清楚。

更新

在 Matt 的评论之后,这里有一个方法可以用来获取反转的颜色值。可能有更好的方法,但这应该可行。

private int getInverseColor(int color){
int red = Color.red(color);
int green = Color.green(color);
int blue = Color.blue(color);
int alpha = Color.alpha(color);
return Color.argb(alpha, 255-red, 255-green, 255-blue);
}

您可以使用其中一种 getTextColor() 方法以编程方式从 TextView 等 View 中获取 color int。您可能需要像我上面链接的那样修改颜色状态列表以获得您想要的颜色。然后将该颜色传递给上面的方法以获取反转颜色 int 并使用 setTextColor() 方法之一对其进行设置。

关于android - 如何控制文字的对比度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5760671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com