2

私は LinearLayout に取り組んでいますが、残念ながら正常に機能していません。目標は、左側に 2 つの TextView (一方が他方の下に配置) を持ち、右側に ImageView を持つ LinearLayout を持つことです。

ImageView はできるだけ大きくする必要があり、TextViews は残りのスペースを取る必要があります。

現時点で、私のレイアウト XML は次のようになっています。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_linearlayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="1dp"
android:background="@drawable/background" >

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_marginLeft="2dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/layout1label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:singleLine="true"
        android:text="1234"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/layout2label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="1234_label2"
        android:textSize="14dp" />
</LinearLayout>


<ImageView
    android:id="@+id/layout_image"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_vertical"
    android:layout_margin="2dp"
    android:layout_weight="1"
    android:adjustViewBounds="true"
    android:src="@drawable/ic_launcher" />

機能していない部分: TextViews 内のテキストが「長すぎる」場合、ImageView が縮小されます。まったく逆にしたい。

解決策はありますか?

4

3 に答える 3

5

RelativeLayoutの代わりに使用する方が効率的ですLinearLayout。次に、レイアウトをネストせずにビューを配置できます。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" >
  <TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/image"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    />
  <TextView
    android:id="@+id/subtitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_toLeftOf="@+id/image"
    android:layout_below="@+id/title"
    />
  <ImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    />
</RelativeLayout>

TextViews を に対して相対的に配置することによりImageViewImageViewがスペースに対して優先され、テキストは残りの部分で機能します。

于 2012-10-23T15:00:38.953 に答える
1
this might be help to you

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_linearlayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_margin="1dp"
    android:background="@drawable/background" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="2dp"
        android:layout_weight="1"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/layout1label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:singleLine="true"
            android:text="1234"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/layout2label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1234_labj hairu iue rel2"
            android:textSize="14dp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >

        <ImageView
            android:id="@+id/layout_image"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical"
            android:layout_margin="2dp"
            android:adjustViewBounds="true"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

</LinearLayout>
于 2012-10-23T15:24:15.270 に答える
0

Kiransコードを少し修正した..私のために働いた

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="2dp"
    android:layout_weight="1"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/layout1label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:singleLine="true"
        android:text="Name: BalaVishnu"
        android:textAppearance="?android:attr/textAppearanceLarge" />


</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <ImageView
        android:id="@+id/layout_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:adjustViewBounds="true"
        android:src="@drawable/edit_icon" />
</LinearLayout>

于 2014-01-18T05:44:11.893 に答える