如何在RelativeLayout中将一个元素放在某些行的右边?
How to put an element on the right of some rows in RelativeLayout?
我为我的列表行创建了这个布局:
<?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:background="@drawable/press_event" >
<LinearLayout
android:id="@+id/viewNameM"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/orange_button_pressed" >
<TextView
android:id="@+id/nameUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#f6911e"
android:textStyle="bold" />
</LinearLayout>
<RelativeLayout
android:id="@+id/viewDetails1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/viewNameM"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" >
<ImageView
android:id="@+id/arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/catUser"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/catUser"
android:contentDescription="@string/arrowS"
android:src="@drawable/arrow" />
<TextView
android:id="@+id/catUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginBottom="3dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4a4c4d" />
<RatingBar
android:id="@+id/ratingUser"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/arrow"
android:layout_marginRight="20dp"
android:layout_marginBottom="3dp"
android:layout_alignBottom="@+id/catUser"
android:indeterminate="false"
android:isIndicator="true"
android:numStars="@integer/five"
android:stepSize="0.1" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/viewDetails2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/viewDetails1"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" >
<TextView
android:id="@+id/cityUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:textStyle="bold"
android:layout_marginBottom="3dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4a4c4d" />
<TextView
android:id="@+id/distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
</RelativeLayout>
这是输出:
我想把箭头放在行的右边,但我想把它放在中间,像这样:
我尝试了几次,但我无法达到我的目标。怎么做?
提前谢谢你。
使用 LinnerLayout 中的布局权重创建此类布局
就像在现实生活中那样做:
- 将插入符放在右边。
- 将评分放在插入符号左侧,分隔线下方。
- 将距离放在插入符号左侧,低于评级。
- ...
<?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="#ffffff" >
<LinearLayout
android:id="@+id/viewNameM"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#cccccc" >
<TextView
android:id="@+id/nameUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#f6911e"
android:textStyle="bold" />
</LinearLayout>
<RelativeLayout
android:id="@+id/viewDetails1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/viewNameM"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" >
<ImageView
android:id="@+id/arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/chevron" />
<TextView
android:id="@+id/catUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Hotel"
android:layout_marginBottom="3dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4a4c4d" />
<RatingBar
android:id="@+id/ratingUser"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/arrow"
android:layout_marginBottom="3dp"
android:layout_alignBottom="@+id/catUser"
android:indeterminate="false"
android:isIndicator="true"
android:numStars="5"
android:stepSize="0.1" />
<TextView
android:id="@+id/cityUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/catUser"
android:textStyle="bold"
android:text="Roma"
android:layout_marginBottom="3dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4a4c4d" />
<TextView
android:id="@+id/distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/arrow"
android:layout_below="@id/ratingUser"
android:textColor="#4a4c4d"
android:text="22km"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
</RelativeLayout>
这看起来像你想要的。
我为我的列表行创建了这个布局:
<?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:background="@drawable/press_event" >
<LinearLayout
android:id="@+id/viewNameM"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/orange_button_pressed" >
<TextView
android:id="@+id/nameUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#f6911e"
android:textStyle="bold" />
</LinearLayout>
<RelativeLayout
android:id="@+id/viewDetails1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/viewNameM"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" >
<ImageView
android:id="@+id/arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/catUser"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/catUser"
android:contentDescription="@string/arrowS"
android:src="@drawable/arrow" />
<TextView
android:id="@+id/catUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginBottom="3dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4a4c4d" />
<RatingBar
android:id="@+id/ratingUser"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/arrow"
android:layout_marginRight="20dp"
android:layout_marginBottom="3dp"
android:layout_alignBottom="@+id/catUser"
android:indeterminate="false"
android:isIndicator="true"
android:numStars="@integer/five"
android:stepSize="0.1" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/viewDetails2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/viewDetails1"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" >
<TextView
android:id="@+id/cityUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:textStyle="bold"
android:layout_marginBottom="3dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4a4c4d" />
<TextView
android:id="@+id/distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
</RelativeLayout>
这是输出:
我想把箭头放在行的右边,但我想把它放在中间,像这样:
我尝试了几次,但我无法达到我的目标。怎么做? 提前谢谢你。
使用 LinnerLayout 中的布局权重创建此类布局
就像在现实生活中那样做:
- 将插入符放在右边。
- 将评分放在插入符号左侧,分隔线下方。
- 将距离放在插入符号左侧,低于评级。
- ...
<?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="#ffffff" >
<LinearLayout
android:id="@+id/viewNameM"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#cccccc" >
<TextView
android:id="@+id/nameUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#f6911e"
android:textStyle="bold" />
</LinearLayout>
<RelativeLayout
android:id="@+id/viewDetails1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/viewNameM"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" >
<ImageView
android:id="@+id/arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/chevron" />
<TextView
android:id="@+id/catUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Hotel"
android:layout_marginBottom="3dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4a4c4d" />
<RatingBar
android:id="@+id/ratingUser"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/arrow"
android:layout_marginBottom="3dp"
android:layout_alignBottom="@+id/catUser"
android:indeterminate="false"
android:isIndicator="true"
android:numStars="5"
android:stepSize="0.1" />
<TextView
android:id="@+id/cityUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/catUser"
android:textStyle="bold"
android:text="Roma"
android:layout_marginBottom="3dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4a4c4d" />
<TextView
android:id="@+id/distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/arrow"
android:layout_below="@id/ratingUser"
android:textColor="#4a4c4d"
android:text="22km"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
</RelativeLayout>
这看起来像你想要的。