0

LinearLayout に BackgorundDrawbale を設定する必要があります。BackgroundDrawable は LinearLayout よりも高さが高く、XML レイアウトで定義された高さを無視します (さらに、絶対的な高さではなく「wrap_content」を使用したくない) - したがって、レイアウトの高さが増加します。高さを増やさずに Drawable を動的にスケーリングする方法はありますか? - または、Photoshop などで Drawable を適切な高さにトリミングする必要がありますか? - 別の方法があるはずです。

私はすでに、RelativeLayout を使用する StackOverflow に関する同様の質問に頭を悩ませています。しかし、私は望ましい結果を得ることができませんでした。

私のレイアウトは次のようになり、最初の行の ListView で使用されます。レイアウトは画像の下で終了する必要がありますが、Drawable のため終了しません。

最初の行の ListView LinearLayout

現在、次の XML レイアウトを使用しています。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@android:color/black">

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/foto_detail_bg_cell_0"
        >

    <ImageView
            android:id="@+id/icon"
            android:layout_width="100px"
            android:layout_height="100px"
            android:layout_marginRight="6dip"
            android:layout_marginTop="6dip"
            android:layout_marginBottom="6dip"
            android:src="@drawable/icon"

            />

    <LinearLayout
            android:orientation="vertical"
            android:paddingTop="5dip"
            android:layout_width="0dip"
            android:layout_weight="1"
            android:layout_height="wrap_content"

            >
        <TextView
                android:id="@+id/toptext"
                android:layout_width="fill_parent"
                android:layout_height="0dip"
                android:ellipsize="marquee"
                android:layout_weight="1"
                android:paddingLeft="10dip"
                android:gravity="center_vertical"
                android:textStyle="bold"
                android:textSize="14dip"
                />
        <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:inputType="textMultiLine"
                android:maxLines="3"
                android:scrollHorizontally="false"
                android:layout_weight="1"
                android:paddingLeft="10dip"
                android:id="@+id/bottomtext1"
                android:singleLine="true"
                android:ellipsize="marquee"
                android:textSize="14dip"

                />

        <TextView
                android:layout_width="fill_parent"
                android:layout_height="0dip"
                android:layout_weight="1"
                android:paddingLeft="25dip"
                android:id="@+id/bottomtext2"
                android:singleLine="true"
                android:ellipsize="marquee"
                android:textSize="14dip"

                />
    </LinearLayout>

</LinearLayout>

何かヒントになれば幸いです。

4

2 に答える 2

1

最後に、背景画像をレイアウトの高さより小さくしました。これで、適切なサイズに自動的にスケーリング (ストレッチ) されます。

于 2012-07-07T14:54:29.773 に答える
0

単一の相対レイアウトを使用し、高さと幅の両方をラップ コンテンツで固定します。私にとってはうまくいっているコード:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:clickable="true"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:clickable="true"
    android:gravity="center_vertical"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#000000"
    android:layout_marginTop="10dip"/>

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/textView1"
    android:gravity="center_vertical"
    android:singleLine="true"
    android:textColor="#000000"/>

    <ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"/>

</RelativeLayout>
于 2012-07-07T13:42:47.157 に答える