我正在尝试在Android ListView项目中显示一条垂直线。我在单元格的XML中定义它,但是当我在ListView中预览时它不会出现。
我知道这是一个问题,因为我在这里看到了很多问题,但没有看到任何真正的答案。
XML非常标准:
细胞:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/appWhite" >
<View android:layout_width="5dp"
android:layout_height="match_parent"
android:background="@color/appGreen"
android:layout_alignParentLeft="true" />
<RelativeLayout
android:id="@+id/cell_trip_info_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/vertical_bar" >
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cell_trip_name"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:textColor="#2c3e50"
android:paddingLeft="10dp"
android:text="adfadf" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cell_trip_country"
android:layout_below="@+id/cell_trip_name"
android:textColor="#2c3e50"
android:paddingLeft="10dp"
android:text="adfadf" />
</RelativeLayout>
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:id="@+id/whole_container"
android:layout_alignParentRight="true" >
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/appGreen"
android:id="@+id/cell_trip_date_box"
android:layout_alignTop="@+id/update_buttons"
android:layout_alignBottom="@+id/update_buttons"
android:padding="20dp" >
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cell_tripstart_date"
android:layout_centerHorizontal="true"
android:textColor="#fff" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cell_date_thru"
android:text="@string/thru"
android:layout_below="@+id/cell_tripstart_date"
android:layout_centerHorizontal="true"
android:textColor="#fff" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cell_tripend_date"
android:layout_below="@+id/cell_date_thru"
android:textColor="#fff"
android:layout_centerHorizontal="true" />
</RelativeLayout>
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/update_buttons"
android:visibility="gone"
android:layout_toRightOf="@+id/cell_trip_date_box"
android:background="#e9e9e9"
android:padding="20dp" >
<ImageView android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/cell_button_edit_trip"
android:src="@drawable/slide_edit"
android:adjustViewBounds="true"
android:contentDescription="@string/content_description" />
<ImageView android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/cell_button_delete_trip"
android:src="@drawable/slide_delete"
android:layout_toRightOf="@+id/cell_button_edit_trip"
android:adjustViewBounds="true"
android:contentDescription="@string/content_description" />
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
答案 0 :(得分:4)
我在另一篇帖子Here
上找到了原因和明显的解决方案/解决方法基本上,无论出于何种原因,RelativeLayouts都不能与ListView项中的“match_parent”高度设置一起使用。建议使用LinearLayout的帖子的答案之一。所以我刚刚创建了一个新的File,其父视图是LinearLayout。然后我创建了一个RelativeLayout子项并将其他所有内容扔掉。
这次工作正常,很容易让我创建我的垂直规则。
答案 1 :(得分:0)
在您的cell_trip_info_container
RelativeLayout
中
android:layout_toRightOf="@+id/vertical_bar"
您没有名为vertical_bar
将该ID添加到垂直条形视图中,您应该好好去
<View
android:id="@+id/vertical_bar"
android:layout_width="5dp"
android:layout_height="match_parent"
android:background="@color/appGreen"
android:layout_alignParentLeft="true" />
答案 2 :(得分:-2)
变化 的RelativeLayout 至 VerticalLayout的