对android:layout_alignParentBottom
的每个项目ImageView
RelativeLayout
内的RecyleView
使用Preview
。{
但它只能在 <android.support.v7.widget.CardView
android:id="@+id/cv"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/item_layoutStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#E8F5E9"
android:orientation="vertical">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center_vertical|right"
android:clickable="true"
android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center_vertical|right"
android:clickable="true"
android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center_vertical|right"
android:clickable="true"
android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/item_tvRepeatTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="10" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff0"
android:layout_alignTop="@id/item_layoutStart"
android:layout_alignBottom="@id/item_layoutStart"
android:orientation="vertical"
android:layout_toRightOf="@id/item_layoutStart">
<TextView
android:id="@+id/item_tvTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="aa aa aaaaaa aa aa aaaaaa aa aa aaaaaa " />
<TextView
android:id="@+id/item_tvResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/item_tvTitle"
android:text="aa aa aaaaaa aa aa aaaaaa aa aa aaaaaa" />
<ImageView android:id="@+id/item_ivExpand"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:padding="3dp"
android:src="@drawable/selector_arrow_down"/>
</RelativeLayout>
</RelativeLayout>
</android.support.v7.widget.CardView>
模式下完美运行,当我运行应用程序时它不起作用。我不知道为什么会发生这种情况
我在截图
RelativeLayout
更新
如果我按特定值修正android:layout_alignParentBottom
的高度, <RelativeLayout
android:layout_width="match_parent"
android:layout_height="200dp"
>
工作
RelativeLayout
但就我而言,我希望LinearLayout
身高等于<RelativeLayout
android:layout_alignTop="@id/item_layoutStart"
android:layout_alignBottom="@id/item_layoutStart"
>
android:layout_alignParentBottom
sectionView.userInteractionEnabled = false
无效
任何帮助都会得到很好的回报
答案 0 :(得分:1)
虽然这个解决方案显然与编辑器中布局的外观混淆,但它解决了运行时布局的问题。
首先,将外部RelativeLayout
更改为LinearLayout
。然后,在内部RelativeLayout
上,完全删除layout_alignTop
和layout_alignBottom
属性,并将layout_height
设置为match_parent
。
正如您在发布的屏幕截图中看到的那样,ImageView
正在布局,就好像其父RelativeLayout
的高度正在包裹其子View
一样,按照其layout_height
设置。但是,在RelativeLayout
的孩子View
布局后,其layout_alignTop
和layout_alignBottom
属性正在应用,并且已调整大小以匹配{ {1}}的高度,LinearLayout
只是停留在原来的位置。
使用ImageView
作为外部LinearLayout
,并将内部ViewGroup
的高度设置为RelativeLayout
,match_parent
有一个在确定其子RelativeLayout
之前应用了确定的高度,View
的{{1}}和ImageView
属性将其放在正确的位置。