我正试图用右边的阴影画来覆盖我的整个列表项目。
问题是我的包装drawable的布局没有恒定的高度。我厌倦了将drawable设置为对齐父顶部并对齐父底部,但它仍然没有拉伸其父布局的整个高度。
看看右边的阴影(我提供了一个最小高度属性使其可见,第四个列表项比最小视图大,并且阴影不会拉伸)
来源:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<include layout="@layout/list_item_header" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/img_news_thumb"
android:layout_width="@dimen/listview_one_row"
android:layout_height="@dimen/listview_one_row"
android:scaleType="centerCrop"
android:src="@drawable/default_news_thumb" />
<TextView
android:id="@+id/txt_news_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignWithParentIfMissing="true"
android:layout_marginLeft="@dimen/space_m"
android:layout_marginTop="@dimen/space_s"
android:layout_toRightOf="@+id/img_news_thumb"
android:ellipsize="marquee"
android:paddingRight="@dimen/space_m"
android:singleLine="false"
android:text="Title"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txt_news_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignWithParentIfMissing="true"
android:layout_below="@+id/txt_news_title"
android:layout_marginBottom="0dp"
android:layout_marginLeft="@dimen/space_m"
android:layout_marginTop="@dimen/space_s"
android:layout_toRightOf="@+id/img_news_thumb"
android:ellipsize="end"
android:paddingRight="@dimen/space_m"
android:singleLine="true"
android:text="Date"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/font_light" />
**<ImageView
android:id="@+id/img_news_list_shadow"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/img_news_thumb"
android:minHeight="@dimen/listview_one_row"
android:scaleType="fitXY"
android:src="@drawable/list_shadow_r" />**
<ImageView
android:id="@+id/img_selected_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:scaleType="fitXY"
android:src="@drawable/list_item_arrow"
android:visibility="gone" />
</RelativeLayout>
<include layout="@layout/list_item_devider" />
</LinearLayout>
答案 0 :(得分:1)
发现它是不可能的,因为父布局,即在这种情况下的线性布局在列表视图中使用时总是包装内容。
答案 1 :(得分:0)
由于最近的调查,我发现答案比这简单得多。
在夸大布局时,我们应该使用:
View rowView = inflater.inflate(R.layout.row_layout, parent, false);
而不是常用的错误:
View rowView = inflater.inflate(R.layout.row_layout, null);