我正在构建一个Android应用程序,我遇到图像问题。
我使用这张图片:
这是我的结果:
正如您所看到的,第一张图片非常清晰但不在我的Android应用程序上。图像模糊。
我尝试使用ImageView和ImageButton但两者的结果相同。
对此有任何解决方案吗?
答案 0 :(得分:2)
为什么图像质量模糊?
仅仅因为图像尺寸和DPI很低。如果在大型设备上使用小图像,则低分辨率图像必须扩展到ImageView或ImageButton属性(layout_width和layout_height)中的大小。
让我们假装我们需要使用像Nexus One这样的小型设备手机。它的分辨率为480像素×800像素。
如果您的图像在100%比例范围内为128像素×128像素,则会并排放置3张图像。
让我用这个例子向你展示。我正在使用两张图片:
https://www.iconfinder.com/icons/310718/fiddle_instrument_music_violin_icon#size=128
https://www.iconfinder.com/icons/310718/fiddle_instrument_music_violin_icon#size=512
以下是测试:
左侧
我先使用128x128,然后使用layout_width
使用512x512,使用layout_height
作为128xp
。 (不建议这样做,仅用于测试目的)。
如您所见,它们的质量非常相似。这是有道理的,因为它们的大小都是128x128像素。
右侧
我先使用相同的128x128,然后使用layout_width
使用512x512,使用layout_height
作为130dp
。现在你可以看到质量上的差异(看看字符串)。对于高密度像素,128x128必须被拉伸,512x512必须缩小。这样,128x128将丢失高质量图像并使其模糊。
<强>结论强>
确保您使用的图像具有更高的分辨率和更高的DPI,并确保将它们放在各自的文件夹中。 (drawable-hdpi
,drawable-ldpi
,
drawable-mdpi
,drawable-xhdpi
,drawable-xxhdpi
)。
答案 1 :(得分:1)
也许你无意中升级了它。尝试将android:scaleType="center"
添加到ImageView的XML代码中。如果它那么清晰,但没有以您需要的尺寸显示,那么您将需要更高分辨率的光源。
答案 2 :(得分:0)
将图像转换为PNG我认为该图片质量更好。并检查尺寸