我有一个显示在TextView中的位图作为“drawableTop”的应用程序:Android的多屏幕尺寸和避免重复图像
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_weight="1"
android:drawableTop="@drawable/bitmap"
android:gravity="center"
android:text="@string/text" />
位图来自在res /可绘制文件夹中的PNG文件,让我们称之为bitmap.png。
我需要支持多种屏幕尺寸和密度,并且想要找到最便宜的方法(根据我需要在res/*文件夹中有多少个PNG文件)来执行此操作。
各种密度:手机只
我来,它的足有RES /绘制-xhdpi文件夹中的bitmap.png的结论。在高密度手机上显示时,它将按原样显示,而手机上的密度会降低,会自动缩小。 换句话说,在res/drawable-hdpi,res/drawable-mdpi等中不需要具有较低分辨率的bitmap.png版本。 基本上PNG文件只有一个版本足够用于所有手机。
各种密度:平板电脑和
现在,如果我想支持以及平板电脑的问题出现了:大XLARGE屏幕。 在平板电脑上,我希望图标的宽高比与手机上的宽高比相同:如果位图占用了手机屏幕的1/4,我希望它在平板电脑上占用1/4的屏幕。我无法重复使用与之前相同的PNG文件,或者它看起来太小,因为平板电脑只有更多的像素...所以对于平板电脑,我需要更高分辨率的PNG。这适用于大屏幕和大屏幕。
导致需要3个文件夹,和3个版本的PNG的:
1:RES /绘制-xhdpi/bitmap.png
2:RES /提拉 - 大xhdpi/bitmap.png
3:RES /提拉 - XLARGE-xhdpi/bitmap.png
但1和2的3
基本上降低水库版本那么有没有一种简单的方法有一个文件夹不是3?
你有没有想过使用矢量而不是基于栅格的图像。如果您想要在任何分辨率下进行一致的缩放,基于矢量的解决方案总是会提供比栅格更好的结果,请参阅https://code.google.com/p/svg-android/ – javram