【发布时间】:2011-12-10 05:50:19
【问题描述】:
机器人们下午好!
我面临一个烦人的布局问题,经过数小时的调查后我无法解释......:/。 我创建了一个简化的测试用例,在这里展示。
我有一个简单的列表项布局。
list item http://www.freeimagehosting.net/4075a.jpg
XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="96dp">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:id="@+id/textView1" android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_centerVertical="true" android:layout_centerHorizontal="true" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="TextView"
android:id="@+id/textView2" android:layout_alignParentTop="true" />
<ImageView
android:layout_width="10dp"
android:layout_height="match_parent"
android:id="@+id/imageView1"
android:src="@drawable/errorindicator"
android:layout_below="@id/textView2" />
</RelativeLayout>
错误指示器是一个红色矩形,您可以在左侧的图像中看到它。 xml 看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<shape shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/ControllingConflictColor" />
<padding android:left="0dp" android:top="0dp"
android:right="0dp" android:bottom="0dp" />
</shape>
所描述的列表项布局按预期工作。
现在我尝试用列表项填充列表视图,如上所述。结果如下所示:
list view with list items http://www.freeimagehosting.net/4cc4b.jpg
对应的xml:
<?xml version="1.0" encoding="utf-8"?>
<ListView android:id="@+id/listView1" android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Preview: listitem=@layout/test -->
</ListView>
正如你在图片上看到的,红色矩形不再像它应该的那样匹配它的父级。图片是由设计师制作的,但同样的效果也在模拟器和设备。我正在为 API 级别 8 开发。
**如果有人能解释一下,为什么所描述的布局在列表视图中不能按预期工作,我会很高兴。为什么形状可绘制的行为不同? **
感谢您的宝贵时间:)
编辑:我在嵌入图像时遇到问题,我使用了链接,抱歉 ;( 编辑:添加 xml-drawable 标记。
编辑:我的示例甚至可以变得更容易。我包含了两个文本视图,因为它与我的真实布局有些相似。您可以从示例中删除两个文本视图,但仍然存在问题,即如果在列表视图中使用布局,图像视图中可绘制的形状与定义的父级高度不匹配。
【问题讨论】:
-
你想要的布局设计是什么?
-
您需要在所有 textview 的下方添加一行,对吗?
-
Venky 您可以在第一个链接图像中看到所需的设计。问题是,如果我在列表视图中使用描述的相对布局,红色形状可绘制的行为会有所不同。
标签: android listview layout android-relativelayout xml-drawable