我正在尝试将下面附带的9 patch图片设置为我的布局背景。它在几个设备背景上看起来不错,很少有设备在中心显示连续的圆圈,这使得UI不一致。我希望所有设备密度都保持一致。如何在所有设备上实现UI外观一致?
答案 0 :(得分:0)
很难理解你的意思。语法有点不清楚。你的意思是所有布局都有相同的背景吗?
答案 1 :(得分:0)
确保为每个密度创建9Patch png的版本并将它们放在相关的可绘制文件夹中(drawable-mdpi,drawable-hdpi,drawable-xhdpi等)。
当您运行应用程序时,android会确定您正在运行它的设备的屏幕密度,然后在9Patch png的特定可绘制文件夹中查找。如果它无法在该密度的文件夹中找到9Patch png,它将在文件夹中查找其他密度,直到找到密度为止。然后,它将根据需要拉伸或压缩png,以尝试为缺失的密度创建合适的png。这种拉伸和压缩会导致您看到的那种伪影。
为了获得最佳效果,请不要将其留给操作系统来尝试生成丢失屏幕密度的图像。为每个密度提供自己的图像。
以下是Android开发者网站上Supporting Different Screens的摘录。如果你想开发Android应用程序,请花时间阅读并理解这一点,因为这是设计任何UI外观的基础。
" ..您应该以矢量格式开始使用原始资源,并使用以下大小比例为每个密度生成图像:
xhdpi:2.0
hdpi:1.5
mdpi:1.0(基线)
ldpi:0.75
这意味着如果为xhdpi设备生成200x200图像,则应在150x150中为hdpi生成相同的资源,为mdpi生成100x100,为ldpi设备生成75x75。"