安卓布局缩放

标签 android android-layout scale android-screen-support

如果您将 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/

相关文章:

android - 在 android 布局中的微调器旁边添加和图像

android - 在 fragment 中使用FragmentManager?

android - 如何在 Android API 级别 10 的操作模式 (CAB) 上更改按下时的列表项背景

r - 从 ggplot2 对象中提取使用过的比例

Android - 如何将文件从 google drive 下载到 android SDCARD?

android - Android如何计算缓存和数据大小?

android - MVVM 设置 Recyclerview 适配器,其中包含 fragment 中的项目

javascript - 如何删除使用变换比例显示的滚动条?

ios - 如何在缩放的 UIView subview 上计算正确的 CGRect 原点?

后台线程中的android addView