1

私はレイアウトを構築しようとしています。私は水平 LinearLayout を使用します。その中には、1 つのイメージビュー、別のレイアウト、および別のイメージビューがあります。ポイントは、2 つのイメージビューが左右にあり、サイズが 10 dp であることです。中央の LinearLayout は画面に引き伸ばす必要がありますが、左右に 10 dp はありません。

 <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/li_iv"
            android:layout_width="10dp"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:background="@drawable/pen" />

        <LinearLayout
            android:id="@+id/li_ll"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:background="@drawable/back"
            android:orientation="vertical" >

            <TextView
                android:id="@android:id/title"
                android:layout_width="match_parent"
                android:layout_height="28dp"
                android:layout_marginLeft="28dp"
                android:layout_marginRight="28dp"
                android:textSize="22sp"
                android:textStyle="bold" />

            <TextView
                android:id="@android:id/content"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="15dp"
                android:layout_marginLeft="29dp"
                android:layout_marginRight="31dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/back_repeat"
                android:text="aaaaaaaaaa\n"
                android:textSize="16dp" />
        <ImageView
            android:id="@+id/li_rl_center_right"
            android:layout_width="10dp"
            android:layout_alignParentRight="true"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:background="@drawable/pen" />
        </LinearLayout>

しかし、そうはなりません。右側のイメージビューは、メインの LinearLayout の境界の外側にあります。つまり、メインの LinearLayout の幅が親を埋めるため、実際には画面の外側にあります。私はrelativeLayoutを使用しません。なぜなら、コンテンツは親のサイズに引き伸ばされるのではなく、Eclipseのグラフィカルレイアウトの画面全体のサイズに引き伸ばされ、電話のimageViewには親のデフォルトサイズしかないからです。textview 内に複数の行がある場合、横の画像は伸びません。

この ImageView をレイアウトの右側に戻す方法はありますか?

4

3 に答える 3

2

相対レイアウトを使用する必要があります。次のコードを試してください:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/li_iv"
        android:layout_width="10dp"
        android:layout_height="match_parent"
        android:layout_alignBottom="@+id/li_ll"
        android:layout_alignParentLeft="true"
        android:background="@drawable/pen" />

    <LinearLayout
        android:id="@+id/li_ll"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/li_rl_center_right"
        android:layout_toRightOf="@+id/li_iv"
        android:background="@drawable/back"
        android:orientation="vertical" >

        <TextView
            android:id="@android:id/title"
            android:layout_width="match_parent"
            android:layout_height="28dp"
            android:layout_marginLeft="28dp"
            android:layout_marginRight="28dp"
            android:textSize="22sp"
            android:textStyle="bold" />

        <TextView
            android:id="@android:id/content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="15dp"
            android:layout_marginLeft="29dp"
            android:layout_marginRight="31dp"
            android:layout_marginTop="5dp"
            android:background="@drawable/back_repeat"
            android:text="aaaaaaaaaa\n"
            android:textSize="16dp" />
    </LinearLayout>

    <ImageView
        android:id="@+id/li_rl_center_right"
        android:layout_width="10dp"
        android:layout_height="match_parent"
        android:layout_alignBottom="@+id/li_ll"
        android:layout_alignParentRight="true"
        android:layout_gravity="right"
        android:background="@drawable/pen" />

</RelativeLayout>
于 2013-07-12T19:12:11.093 に答える
0

すべてを に設定してからandroid:layout_width="match_parent"、 を使用weightして、それぞれが占める画面の量を指定する必要があります。

于 2013-07-12T19:11:02.047 に答える