为啥 Android Studio Emulator 会扭曲背景图片

Posted

技术标签:

【中文标题】为啥 Android Studio Emulator 会扭曲背景图片【英文标题】:Why does Android Studio Emulator distort background image为什么 Android Studio Emulator 会扭曲背景图片 【发布时间】:2019-03-14 18:02:06 【问题描述】:

我正在 android Studio 中开发一个应用程序。我已经应用了一张图片作为活动的背景,并且在布局编辑器中一切看起来都很好。没有图像失真。但是,当我为 Nexus 5X 手机运行模拟器时,背景图像会严重失真。为什么?

我用于背景的图像存储在 drawable 文件夹中,并在定义有问题的活动样式的 XML 文件中以下列方式引用:android:background="@drawable/login_activity_background"

我查看了 Nexus 5X 手机的背景分辨率,发现图像必须是 1080x1920 像素,而我的背景图片适合这个分辨率像素完美(也就是说,我的背景图片也是 1080x1920 像素),所以我猜图像分辨率与我的问题无关?

这是我的问题的图片:

【问题讨论】:

它是什么类型的图像,是 JPEG 还是有损压缩?我建议您使用形状和渐变 (XML) 而不是图像,它会更平滑、更高效且跨 Android 设备一致。不过,我不能 100% 确定模拟器的颜色深度。 这是一个 PNG 图像,我确定是未压缩的。但是,如果我将其拉伸到整个活动屏幕上,该形状的作用是否与背景相同?我还能在此形状上方添加其他组件吗? 是的 - 看到这个问题,并回答***.com/questions/5976805/… - 或者谷歌它,它很容易创建。这是个人建议,下面的答案将很好地了解您遇到当前问题的原因(正如我在第一条评论中暗示的那样),我提出了一种替代方法,恕我直言,这是在 Android 中创建渐变的更好方法。跨度> 谢谢你,先生,一定会好好看看! @MarkKeen 我已经按照您的指示更新了我的应用程序,但问题仍然存在 :( 【参考方案1】:

这是因为模拟器屏幕的渲染方式。

它没有失真。您的计算机要么功能不够强大,无法在模拟器中呈现全彩,要么由于其他原因色彩空间受到限制。

在真机上试一试应该不会有这个问题。

【讨论】:

我已经按照你说的做了,现在效果很好。

以上是关于为啥 Android Studio Emulator 会扭曲背景图片的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio为啥要用Gradle

为啥android studio向模拟器发送短信

Android studio中为啥明明写了权限还会报错

为啥Android studio模拟器把电脑搞得哒哒哒响

为啥我的Android studio里面没有Preview。在View-Tool Windows

为啥 Android Studio 不断切换“语言级别”?