我目前正在研究一个可以适应不同大小的 android 设备的布局文件。到目前为止,我已经取得了一些成功。使用“layout_weight”我已经能够制作一个线性布局来占用布局中一定比例的空间。这意味着显示器可以拉伸以覆盖整个屏幕,无论是 2'7 英寸屏幕还是 10'1 英寸屏幕。但是,我在顶部的线性布局中遇到了文本大小问题。如何使 TextSize 适应大型或小型设备?这是我的代码。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:baselineAligned="false"
android:weightSum="1.0"
android:background="#ff0000"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:weightSum="1.0">
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="medium"
android:textSize="30sp"
android:layout_weight="1"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:weightSum="1.0">
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_1"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_2"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_3"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_4"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:weightSum="1.0">
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_1"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_2"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_3"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_4"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:weightSum="1.0">
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_1"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_2"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_3"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="0dip"
android:layout_height="fill_parent"
android:src="@drawable/sample_4"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
</LinearLayout>
</LinearLayout>