是否有默认样式引用或我可以用于我的自定义状态栏文本颜色的东西,使其在不同版本的android /手机上正常工作。
例如在三星Galaxy S White上工作得很好,但在nexus上,一个白色是不可读的,但黑色效果最好,反之亦然。
答案 0 :(得分:0)
有几种不同的方法可以解决这个问题。在你开始修改标准小部件之前,我会问你自己是否真的需要这样做。让我解释一下。
每个手机制造商都可以选择创建自己的小部件,主题和图像,这些小部件,主题和图像会在Google发布的规则集中覆盖Android提供的标准资源。市场上的许多应用程序使用作为Android OS一部分的基本主题,小部件和图像。因此,即使使用相同的资源文件,您的应用程序在手机之间也可能会有所不同这是因为手机制造商更换了这些资源或选择更改默认值。
一般来说,使用默认资源不会直观地给您带来问题。如果使用灯光主题,则会自动应用深色文本,反之亦然。我将通过说我看到一个堆栈溢出用户确实存在一个特定手机的主题问题来证明这一点。
在你给出的例子中,你看到的差异可能只是主题,灯光主题与黑暗主题的区别。如果您未指定主题,则会根据制造商选择的默认主题来应用您的主题。
那么,你如何解决这个问题呢?答案是选择应用您自己的主题,小部件和图像来代替Android提供的标准资源集。通过这种方式,您可以在不同的手机上实现(几乎)完全相同的外观。