以下是recyclerview项目的布局。我想在每个布局项目的左侧创建一个垂直视图,使其与项目的高度相匹配。我在代码下面使用 -
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/foodvitebackground">
<TextView
android:id="@+id/invitename"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18dp"
android:textColor="@color/adsd"
android:text="fasf"
android:layout_marginTop="10dp"
android:layout_marginLeft="15dp"/>
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/invitename"
android:layout_marginTop="8dp"
android:layout_marginLeft="15dp"
android:layout_toLeftOf="@+id/profileimage"
android:gravity="left"
android:textColor="@color/foodvite_invitename"
android:textSize="20dp"
android:text="Fill-a Pita"/>
<TextView
android:id="@+id/jJoinTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/name"
android:layout_marginTop="8dp"
android:layout_marginLeft="15dp"
android:textSize="12dp"
android:text="Today,8:30PM"
android:textColor="@color/joinTime"/>
<com.mikhaellopez.circularimageview.CircularImageView
android:id="@+id/profileimage"
android:layout_width="@dimen/hundred_dp"
android:layout_height="@dimen/hundred_dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:scaleType="fitCenter"/>
<TextView
android:id="@+id/invitescount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="20"
android:textColor="@color/white"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:background="@drawable/ret"
android:layout_marginBottom="15dp"
android:layout_marginRight="15dp"
android:layout_alignBottom="@+id/message"
android:layout_alignRight="@+id/profileimage"
android:layout_alignEnd="@+id/profileimage"/>
<View
android:id="@+id/leftbar"
android:layout_width="6dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:background="@drawable/foodviterespoded"/>
</RelativeLayout>
使用上面的代码,我看不到带有id左侧栏的视图。但是如果我将该视图的高度从match_parent更改为某个数值,如160dp,那么我看到左侧栏视图可见。为什么会发生这种情况。我不喜欢我想在数值bcoz中设置高度我希望我的视图伸展到完成项目的高度,并且项目的高度可能在不同的设备中有所不同。
答案 0 :(得分:0)
您可以尝试将android:layout_alignParentTop="true"
和android:layout_alignParentBottom="true"
设置为带有ID&#34;左栏&#34;的视图。
更新
试试这个。
<View
android:id="@+id/leftbar"
android:layout_width="6dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/invitename"
android:layout_alignBottom="@+id/jJoinTime"
android:background="@drawable/foodviterespoded"/>
答案 1 :(得分:0)
您将高度作为父relativelayout的换行内容,这将删除左侧栏视图。尝试将父相对布局高度设置为匹配父
答案 2 :(得分:0)
在视图持有者的构造函数中计算回收器视图的单元格高度。
itemView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
height = itemView.getMeasuredHeight();
在onBindViewHolder()中使用上面计算的高度设置分隔线的高度
RelativeLayout.LayoutParams divParams = (RelativeLayout.LayoutParams)
divider.getLayoutParams();
divParams.height = height;//Add any top or bottom margin(in pixel) specified
divider.setLayoutParams(divParams);