0

我聘请了一位设计师来帮助我重新设计我的 Android 应用程序的 UI。对于每一个Activity,他都给了我一张背景图片,其中包括任何静态内容,例如用于文本内容的精美框架;加上按钮的图像,它们必须在确切的位置适合背景图像,以适合背景图像中的框架。

但是,由于 Android 设备具有不同的屏幕尺寸和纵横比,因此很容易将背景图像本身与android:scaleType="centerInside". 如果它们不必与背景相匹配,我只需为每个设置精确的宽度和高度ImageButton,但取决于背景的缩放方式(基于屏幕大小和比例),它们最终可能无法正确对齐。

非常感谢您提前。

更新: 有什么方法可以在屏幕内缩放整个视图(例如,RelativeLayout),就像图像在 ImageView 内缩放的方式一样scaleType="centerInside"?如果是这样,我可以将RelativeLayout's 的大小设置为与背景图像相同,并将所有其他按钮/图像放在相对于背景图像的位置,然后就拥有整个东西(RelativeLayout包含所有其他视图)在手机屏幕内居中。

4

1 回答 1

1

您的方法是错误的(或至少是错误的),因为 android 设备不仅提供不同尺寸的屏幕,而且还提供不同密度的屏幕。您现在应该阅读的是为多屏幕设计首先。然后了解不可缩放的位图 UI 不会像您想象的那样工作。您需要支持屏幕尺寸,这意味着您的 UI 元素(如按钮、列表、标题等)应缩放。有很多方法可以解决这个问题,一种是使用9-patch位图(在 9-patch 上随机选择教程)。

另外,请阅读这篇文章:支持多个屏幕

在设计 UI 时,假设您为mdpi 密度设计就足够了。完成布局后,您可以为 ie和(并分别以相同的名称放入和)创建可绘制对象。布局文件保持不变,但框架会自动选择正确的资产,因此只要您提供该密度的可绘制对象,您的 UI 就会看起来很清晰。另请参阅提供资源文章。mdpihdpires/drawable-mdpires/drawable-hdpi

于 2012-10-24T22:56:45.673 回答