我正在各种设备上运行一个应用程序,并且两个蓝色的阴影看起来不对。请参阅附图。任何想法为什么会这样? 如果我用不同的颜色替换颜色而没有任何其他更改,一切看起来都很好。
编者注:原始海报说明项目资源中有一个colors.xml文件,颜色定义一次。颜色由名称(@ color / pbr)定义,其值为#447AD4。上面的屏幕截图的布局始终使用相同的资源名称,但呈现为不同的颜色。
答案 0 :(得分:4)
使用paint.net我可以验证每个设备上的文本颜色“搜索你的食物”是相同的,它排除了设备全局阴影或屏幕截图检索过程中的错误
确保您都没有指定
for different Android versions/ screen densities / screen sizes
答案 1 :(得分:3)
所以这看起来像是tintMode的问题。颜色看起来不同的原因是透明度。默认情况下,Drawables in Android have a tintMode of SRC_IN,意味着它们将保留其颜色,但在渲染过程中使用其下方的alpha。从它的外观来看,蓝色下面的视图不是100%不透明的。
要解决此问题,您可以将tintMode显式设置为类似SRC_OVER的内容,这样可以保持您设置的alpha不变。另一个选项是将背景设置为颜色,而不是将其设置为带有实心填充的Shape Drawable。这将确保视图不透明并具有一致的颜色。
答案 2 :(得分:2)
您是否检查过使用配置限定符为不同的屏幕分辨率多次提供您引用的资源(颜色)?
例如,确保在values-mdpi文件夹或values-xxhdpi文件夹中没有多个colors.xml或styles.xml。如果在多个文件夹中引用它,那就是你的问题。
http://developer.android.com/guide/practices/screens_support.html#qualifiers
答案 3 :(得分:2)
您可能已在
中自定义主题<强> RES /值/ style.xml 强>
同样在
中进行自定义res / values-v11 / style.xml 和 res / values-v14 / style.xml
(创建values-v11
和values-v14
文件夹(如果尚未存在)并复制粘贴你的style.xml。如果文件夹中的文件夹和style.xml
已经存在,请附加你的东西并确保不要通过覆盖文件来删除任何重要内容。)
答案 4 :(得分:1)
可能是颜色为#447AD4的设备特定问题。不同的智能手机制造商在其设备中使用不同类型的屏幕所以这可能是我认为的设备特定问题。
答案 5 :(得分:0)
原因
没有&#34;银弹&#34;原因之一,但可能的原因之一可能是司机。某些芯片组制造商在更新其图形驱动程序方面做得特别糟糕,这使得应用程序,游戏和任何图形内容中的颜色在手机上不一致。开发人员可能会在各种Android设备上遇到完全不同的配色方案,没有接近他们的预期。
三星屏幕使用不同形状的像素。
此问题可能是由于PenTile screen造成的,主要区别在于红色,绿色和蓝色子像素与普通显示器不同。
基本上,PenTile像素不是每个像素都有相同大小的红色,绿色和蓝色子像素,而是获得红色和绿色或蓝色和绿色子像素。红色和蓝色比绿色大,以平衡亮度。 由于手机上绿色子像素的数量是红色和蓝色的两倍,因此您的颜色选择可能超出了这些设备的色域。
解
所有设备都会选择不同强度的颜色。你无能为力。它的硬件可以渲染图像和颜色。如果您希望所有设备之间保持一致,则必须calibrate your monitor。