如果您将 Android list 文件中的目标 SDK 版本设置为“3”,那么您在大屏幕设备上的布局将只是小屏幕设备上布局的放大版本。将目标 SDK 设置为更高的 SDK 后,您可以为每个屏幕密度创建单独的布局,从而提供更好的用户体验。
但是,我的布局主要由图像组成,这些图像的分辨率足够高,可以在所有屏幕尺寸上正常显示,即使按比例放大也是如此,因为它们足够大需要拉伸(stretch)。现在,我只需创建一个小屏幕布局并将其按比例放大就容易多了,因为它在大屏幕上看起来仍然不错。有什么方法可以在不返回 API 级别 3 的情况下获得这种效果?
最佳答案
您可以使用权重参数。
“权重”是一个术语,用于指定特定 View 在绘制后有剩余空间时应占据多少屏幕。
只需创建一个 LinearLayout
并在其中放置两个 TextViews
:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="small"
android:layout_weight="0.2"
android:background="#123" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:text="huge"
android:background="#456"
/>
</LinearLayout>
您会注意到 View 如何相应地占用空间。您可以为较小的屏幕创建任何您想要的布局并指定权重属性,所有的东西都会被漂亮地调整
关于安卓布局缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13089874/