我有一个带有android:layout_height="wrap_content"
的父布局,在我的类代码中,它应该从特定图像设置布局背景,但图像高度大于内容高度。我想调整背景的图像高度,使其与父布局内容的高度相同。我怎么能这样做?
黑色 - 父布局
绿色 - 布局内容
布朗 - 布局背景(来自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
父布局(绿色)?