如何动态地根据父布局内容高度调整图像高度?

时间:2013-07-20 11:12:49

标签: android android-layout android-drawable background-drawable

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

enter image description here

黑色 - 父布局

绿色 - 布局内容

布朗 - 布局背景(来自drawable)

以下是我设置父布局背景的方法: 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 view获得onItemClick。这是一个ListView,我想在点击时更改背景。

无论如何,我怎样才能调整内容的高度,使背景(棕色)高度仅为fill父布局(绿色)?

0 个答案:

没有答案