我会陈述另一个我非常喜欢的 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 文件夹。