高度为 match_parent 的 ImageView 背景不起作用
ImageView background with height match_parent doesn't work
这里有些地方不太好用。
我需要:用带有图案背景的 ImageView
填充 RelativeLayout
的一部分。
我做了什么:如果我将定义的数字(在 DP
中)放到 ImageView
高度,它就可以工作。但这不是我需要的,因为 RelativeLayout
有一个 wrap_content
高度。我需要模式填充所有相对的,顶部和底部的边距为 13dp
。 (和 10dp
宽度)。
如果我将 match parent 设置为 ImageView
高度(我认为这是正确的解决方案),它不起作用(它只显示一条线)。
这是我需要的:
http://postimg.org/image/csr16zccn/
这是RelativeLayout
的代码:
<RelativeLayout
android:id="@+id/relative2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/relative"
android:paddingBottom="13dp"
android:paddingTop="13dp" >
<ImageView
android:id="@+id/pattern"
android:layout_width="10dp"
android:layout_centerVertical="true"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:src="@drawable/row_pattern" />
<TextView
android:id="@+id/title"
android:layout_width="245dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:paddingLeft="18dp"
style="@style/p_general" />
</RelativeLayout>
这是 row_pattern.xml
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/pattern"
android:tileMode="repeat"
android:dither="true" />
你可以为你的 ImageView
设置 layout_alginTop="@+id/title"
和 layout_alginBottom="@+id/title"
属性,这样你的图片就会填满标题的高度。
<RelativeLayout
android:id="@+id/relative2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/relative"
android:paddingBottom="13dp"
android:paddingTop="13dp" >
<TextView
android:id="@+id/title"
android:layout_width="245dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingLeft="18dp"
style="@style/p_general" />
<ImageView
android:id="@+id/pattern"
android:layout_width="10dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alginTop="@+id/title"
android:layout_alginBottom="@+id/title"
android:src="@drawable/row_pattern" />
</RelativeLayout>
如果 parent 有 wrap_content
,则不能 match_parent
child。这没有意义。 child 无法匹配未定义维度的 parent。您可以给 parent 一个高度,或者只给图像一个高度。或者你也可以 wrap_content
你的图像(图像视图知道如何显示你的图像,但在这种情况下它会显示源的分辨率而你可能不希望那样)。
这里有些地方不太好用。
我需要:用带有图案背景的 ImageView
填充 RelativeLayout
的一部分。
我做了什么:如果我将定义的数字(在 DP
中)放到 ImageView
高度,它就可以工作。但这不是我需要的,因为 RelativeLayout
有一个 wrap_content
高度。我需要模式填充所有相对的,顶部和底部的边距为 13dp
。 (和 10dp
宽度)。
如果我将 match parent 设置为 ImageView
高度(我认为这是正确的解决方案),它不起作用(它只显示一条线)。
这是我需要的: http://postimg.org/image/csr16zccn/
这是RelativeLayout
的代码:
<RelativeLayout
android:id="@+id/relative2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/relative"
android:paddingBottom="13dp"
android:paddingTop="13dp" >
<ImageView
android:id="@+id/pattern"
android:layout_width="10dp"
android:layout_centerVertical="true"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:src="@drawable/row_pattern" />
<TextView
android:id="@+id/title"
android:layout_width="245dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:paddingLeft="18dp"
style="@style/p_general" />
</RelativeLayout>
这是 row_pattern.xml
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/pattern"
android:tileMode="repeat"
android:dither="true" />
你可以为你的 ImageView
设置 layout_alginTop="@+id/title"
和 layout_alginBottom="@+id/title"
属性,这样你的图片就会填满标题的高度。
<RelativeLayout
android:id="@+id/relative2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/relative"
android:paddingBottom="13dp"
android:paddingTop="13dp" >
<TextView
android:id="@+id/title"
android:layout_width="245dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingLeft="18dp"
style="@style/p_general" />
<ImageView
android:id="@+id/pattern"
android:layout_width="10dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alginTop="@+id/title"
android:layout_alginBottom="@+id/title"
android:src="@drawable/row_pattern" />
</RelativeLayout>
如果 parent 有 wrap_content
,则不能 match_parent
child。这没有意义。 child 无法匹配未定义维度的 parent。您可以给 parent 一个高度,或者只给图像一个高度。或者你也可以 wrap_content
你的图像(图像视图知道如何显示你的图像,但在这种情况下它会显示源的分辨率而你可能不希望那样)。