android下的相对布局2项
我有这样的相对布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/single_row" android:padding="12dip"> <ImageView android:id="@+id/page_image" android:layout_marginRight="6dip" android:layout_width="66dip" android:layout_height="66dip" android:layout_alignParentLeft="true" android:src="@drawable/no_photo" /> <TextView android:id="@+id/page_name" style="@style/pulse_content" android:layout_alignTop="@id/page_image" android:layout_toRightOf="@id/page_image" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/page_desc" android:layout_below="@id/page_name" style="@style/pulse_content" android:layout_alignLeft="@id/page_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Principal Consultant" /> <Button android:id="@+id/follow_button" android:layout_below="@id/author_image" android:layout_marginTop="15dip" android:layout_alignParentBottom="true" android:text="Follow" style="@style/follow_button" /> </RelativeLayout>
我遇到的问题是,我希望follow_button在page_desc以及page_image之下。 有时page_desc内容的高度会大于图像的大小,有时不会。 问题是,如果我设置下面的图片或描述follow_button,那么另一个将被剪辑。 有没有一种有效的方式来确保图像或page_desc总是可见的,并在button上方?
干得好:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/single_row" android:padding="12dip"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@+id/page_image" android:layout_marginRight="6dip" android:layout_width="66dip" android:layout_height="66dip" android:layout_alignParentLeft="true" android:src="@drawable/no_photo" /> <TextView android:id="@+id/page_name" style="@style/pulse_content" android:layout_alignTop="@id/page_image" android:layout_toRightOf="@id/page_image" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/page_desc" android:layout_below="@id/page_name" style="@style/pulse_content" android:layout_alignLeft="@id/page_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Principal Consultant" /> </RelativeLayout> <Button android:id="@+id/follow_button" android:layout_marginTop="15dip" android:text="Follow" style="@style/follow_button" /> </LinearLayout>
这里的答案只需要很less的改变。 你的大部分布局是正确的,但是,有一个选项搞乱了一切。 AlignParentXXXX通常会比您的LayoutXXXX选项具有“虚假”的优先级。 因此,通过将Button设置为AlignParentBottom,您可以告诉RelativeLayout Button的大小不是在父级布局大小中计算的。
您可以通过简单地从Button中删除AlignParent =“true”来解决问题。 结果代码在下面并经过testing。 我相信这个解决scheme符合你的愿望。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/single_row" android:padding="12dip"> <ImageView android:id="@+id/page_image" android:layout_marginRight="6dip" android:layout_width="66dip" android:layout_height="66dip" android:layout_alignParentLeft="true" android:src="@drawable/no_photo" /> <TextView android:id="@+id/page_name" style="@style/pulse_content" android:layout_alignTop="@id/page_image" android:layout_toRightOf="@id/page_image" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/page_desc" android:layout_below="@id/page_name" style="@style/pulse_content" android:layout_alignLeft="@id/page_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Principal Consultant" /> <Button android:id="@+id/follow_button" android:layout_below="@id/author_image" android:layout_marginTop="15dip" android:text="Follow" style="@style/follow_button" /> </RelativeLayout>
当WrapContent在Parent上时,我遇到了许多与AlignParent类似的问题。 如果不做好准备,“上面”和“下面”的定位会产生不希望的行为。 我发现,一般来说,最好只使用一个或另一个(如果有的话),并排列在上面或下面的其余部分。
因为在RelativeLayout中所有的东西都是相互依赖的,所以你把它放在什么顺序里是没有关系的,但是如果你试图在创build它之前访问一个视图,那么它是无关紧要的。 例如,使用android:layout_below属性并不是您想要的button。 如果你设置其他视图android:layout_above这个button,它会使视图总是在它上面。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/single_row" android:padding="12dip"> <Button android:id="@+id/follow_button" android:layout_marginTop="15dip" android:layout_alignParentBottom="true" android:text="Follow" style="@style/follow_button" /> <ImageView android:id="@+id/page_image" android:layout_above="@id/follow_button" android:layout_marginRight="6dip" android:layout_width="66dip" android:layout_height="66dip" android:layout_alignParentLeft="true" android:src="@drawable/no_photo" /> <TextView android:id="@+id/page_name" android:layout_above="@id/follow_button" style="@style/pulse_content" android:layout_alignTop="@id/page_image" android:layout_toRightOf="@id/page_image" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/page_desc" android:layout_above="@id/follow_button" android:layout_below="@id/page_name" style="@style/pulse_content" android:layout_alignLeft="@id/page_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Principal Consultant" /> </RelativeLayout>
- 在Android中抓取HTML网页的最快方法是什么?
- 找不到com.google.android.gms:play-services:3.1.59 3.2.25 4.0.30 4.1.32 4.2.40 4.2.42 4.3.23 4.4.52 5.0.77 5.0.89 5.2.08 6.1。 11 6.1.71 6.5.87
- Android:将search查询返回到当前活动
- 如何在EditText中设置光标位置?
- 需要禁用展开CollapsingToolbarLayout的某些片段
- 从我的位置到android中的目标位置的距离计算
- 更有效的方式来暂停循环想要的
- Android:我如何防止软键盘推动我的观点?
- Android SDK安装问题 – 对端未通过身份validation