我有一个列表项布局,此布局用于StickyListHeaderListView并包含图像后面的垂直分隔符。问题是视图分隔符永远不会在真实设备上绘制,尽管在预览屏幕上绘制。
这是xml布局代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minHeight="80dp"
android:paddingLeft="@dimen/padding_medium"
android:paddingRight="@dimen/padding_medium"
tools:ignore="MissingPrefix">
<TextView
android:id="@+id/textview_date"
fontPath="@string/font_semi_bold"
android:layout_width="wrap_content"
android:maxWidth="60dp"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:gravity="center_vertical|right"
android:textAppearance="@android:style/TextAppearance.Holo.Medium"
android:textColor="#999999"
tools:text="21\nFeb" />
<RelativeLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toRightOf="@+id/textview_date"
android:minWidth="50dp"
android:paddingLeft="@dimen/padding_extra_small"
android:paddingRight="@dimen/padding_extra_small">
<View
android:layout_width="1px"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:background="#999999" />
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentTop="true"
android:layout_marginTop="@dimen/margin_small"
android:src="@drawable/test_event_cat_1" />
</RelativeLayout>
<TextView
android:id="@+id/textview_event_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/container"
android:layout_marginTop="@dimen/margin_small"
android:textColor="#999999"
fontPath="@string/font_medium"
tools:text="ACS Nights’ Soccer Finale"
android:textAppearance="@android:style/TextAppearance.Holo.Medium" />
<TextView
android:id="@+id/textview_interval"
android:layout_width="match_parent"
android:textAppearance="@android:style/TextAppearance.Holo.Small"
android:layout_alignLeft="@+id/textview_event_name"
android:layout_below="@id/textview_event_name"
android:layout_marginTop="@dimen/margin_small"
android:textColor="#999999"
tools:text="4:00 PM - 6:00 PM"
android:layout_height="wrap_content" />
</RelativeLayout>
此代码在Android Studio的预览窗口中生成正确的布局
但设备上的输出不包含任何垂直线,如预览
我尝试将垂直线放在布局的不同部分,但仍未在真实设备上显示。 任何帮助将不胜感激。
答案 0 :(得分:0)
如何在listView中添加新项?
每个项目是否都具有整个xml文件的布局?
那么一行会使用整个layout.xml文件吗?
修改强>
我猜测,因为你的相对布局中有2个视图,所以图像将线条推离屏幕。 我花了一些时间找到一些参考资料,但here。
RelativeLayout以相同的方式工作,相对布局中的最后一个图像获胜。
所以你必须找到一种方法,你可以在线上绘制图像。或者您可以绘制一个简单的线作为drawable并将其设置为包含图像的relativeLayout的背景
答案 1 :(得分:0)
我将根从RelativeLayout更改为水平LinearLayout,在进行必要的布局更改后,问题现在解决了!
我已经读过somewhere,其父级是ListView的RelativeLayout在分配match_parent高度时遇到问题。