我会从我非常喜欢的 android 开发策略中陈述另一个解决方案。
另一种方法是从具有最大屏幕尺寸的设备开始,然后按比例缩小并找出您需要在较小屏幕上做出的 UI 折衷。
来自http://developer.android.com/guide/practices/screens_support.html
因此,请创建一个drawable
包含为最大密度设计的图像的文件夹。目前是 10 英寸平板电脑并按比例缩小。
优点:不需要设计技能来创建一些漂亮的图像,并且您的应用程序(可能)较小。
缺点:为了缩小它并在每个图像的 dps 上更加小心,需要进行更多编码。
编辑评论:
是的。我会向您简要介绍我正在做的事情。
1)首先创建一个drawable
文件夹,不需要创建另一个(虽然总是有例外)。2)正如我所提到的,所有图像都应该是根据您要支持的屏幕(可能是 10 英寸超高密度平板电脑)的最高分辨率。3)这是棘手的部分,我倾向于在 X*X 尺寸或 2X*X 尺寸(4X*X,8X*X ...)中创建所有可绘制对象,以便比例准确(除2)尽可能。
然后,在代码中。假设我们有一个 72x72 像素的图像,我们想为我们的应用程序制作一个小的导航图标。这对于 10 英寸平板电脑来说几乎是正确的,但对于 3.2 英寸手机来说却非常大。所以我在布局中创建 ImageView,如下所示:
<ImageView
android:id="@+id/previousPage"
android:layout_width="@dimen/small_icon"
android:layout_height="@dimen/small_icon"
android:src="@drawable/prev"
android:layout_marginRight="10dp" /> //...etc
如您所见,我使用特定的宽度和高度,而不是包装内容,因此像这样具有 72x72 像素到30dp*30dp
ImageView 的图像具有完美的分辨率。这就是我对开发人员来说不那么花哨的“设计师的事情”的方式。
如果您想要每个版本的不同尺寸或类似的东西,您还可以创建不同的values
文件夹。