基本上我想在布局上使用高清背景,但它不是原始图像,而是显示极度压缩。
示例:
来源图片:
Android模拟器版本:
我想也许它只是模拟器,但它在手机本身看起来很糟糕。我知道这些是高品质的三星Galaxy S手机(毕竟预装了 Avatar 附带的手机)。
有没有人知道如何在不压缩的情况下加载图片?源文件是未压缩的png。
这是它的价值代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:weightSum="1" android:background="@drawable/background" android:id="@+id/blank">
</LinearLayout>
答案 0 :(得分:2)
想出来:问题是图像会自动从AGB888转换为RGB565色彩空间。为了防止这种情况,请确保图像具有Alpha通道,并且位于“原始”目录中,而不是“可绘制”目录。
答案 1 :(得分:0)
aapt可能会在构建apk时压缩图像,但该压缩应该是无损的。问题可能在其他地方。这有两种可能性。
如果您的图像资源是从res/drawable
加载到非mdpi的设备(或模拟器)上,那么它将按照here所述进行缩放。一种解决方案是将资源放在res/drawable-nodpi
文件夹中。另一种方法是提供几种密度特定的图像。
如果您的背景图片与视图的大小不匹配,则会出现另一个问题。视图将自动缩放图像以适合视图大小。您可以通过将背景定义为XML Bitmap并将gravity
设置为无法缩放的内容(例如center
)来阻止此操作。