1

私は現在、さまざまなサイズの 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>
4

2 に答える 2

1

resフォルダー内に、次のようなさまざまなフォルダーを作成します values-ldpi, values-mdpi, values-hdpi, values-xhdpi

これらのフォルダー内よりも dimens.xml ファイルを作成します

のようにする必要があります

res/values-ldpi/dimens.xml
res/values-mdpi/dimens.xml
res/values-hdpi/dimens.xml

内部にさまざまなサイズを定義するよりもTextView dimens.xml

于 2013-07-24T10:53:07.267 に答える