0

我有一个父布局,android:layout_height="wrap_content"在我的类代码中,它应该从特定图像设置布局背景,但图像高度大于内容高度。我想将背景的图像高度调整为与父布局内容的高度相同。我怎样才能做到这一点?

在此处输入图像描述

黑色 - 父布局

绿色 - 布局内容

棕色 - 布局背景(来自可绘制)

这是我设置父布局背景的方法: view.setBackgroundDrawable(getResources().getDrawable(R.drawable.brown));

编辑:

这是我的xml:

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

<ImageView
    android:id="@+id/item_bg"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:adjustViewBounds="true"
    android:src="@android:color/transparent"
    android:translationX="-10dp" />

<LinearLayout
    android:id="@+id/item_song"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#b97a57"
    android:orientation="horizontal"
    android:padding="5dip" >

    <!-- ListRow Left sied Thumbnail image -->

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="5dip"
        android:layout_weight="0"
        android:background="@color/aqua"
        android:padding="1dip" >

        <ImageView
            android:layout_width="50dip"
            android:layout_height="50dip"
            android:src="@color/gray" />

        <!-- Thumbnail Progressbar -->

        <ProgressBar
            android:id="@+id/progressbar"
            style="?android:attr/progressBarStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true" />
    </RelativeLayout>
</LinearLayout></FrameLayout>

和我在我的java类监听器中调用这个布局的地方:

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    view.setBackgroundDrawable(getResources().getDrawable(R.drawable.list_item_selected));
     }

这就是我的意思是我无法获得 ImageView 本身的引用,因为我只能拥有View viewfrom onItemClick。这是一个 ListView,我想在单击时更改背景。

无论如何,我如何调整内容的高度,以便背景(棕色)高度只是fill父布局(绿色)?

4

0 回答 0