RelativeLayout
有一个嵌套的LinearLayout
,其中包含两个相对于彼此水平放置的TextViews
。这是DiscountAmount
和AmountWithDiscount
。
我需要将DiscountAmount
和AmountWithDiscount
始终保持在垂直的同一级别,为此我将android属性放在LinearLayout
:android:layout_below = "@ + id / textViewRowQuantity"
中。但如果Name
太长并且需要三行,那么它将转到DiscountAmount
。如果Name
不超过2行,那么一切都很好。
请告诉我,我该如何解决这个问题?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayoutSaleListRow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:orientation="horizontal"
android:padding="5dp" >
<ImageView
android:id="@+id/imageViewRemoveRowSale"
android:layout_width="@dimen/size_30px"
android:layout_height="@dimen/size_30px"
android:layout_alignParentLeft="true"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:src="@drawable/ic_action_remove"/>
<RelativeLayout
android:id="@+id/relativeLayoutIncQuantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/imageViewRemoveRowSale"
android:layout_toLeftOf="@+id/imageViewEditRowSale"
android:orientation="horizontal">
<TextView
android:id="@+id/textViewRowPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:text="TextView" />
<TextView
android:id="@+id/textViewRowQuantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewRowPrice"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:text="TextView" />
<TextView
android:id="@+id/textViewRowName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/textViewRowPrice"
android:text="TextView" />
<LinearLayout
android:id="@+id/layoutDiscount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewRowQuantity"
android:orientation="horizontal">
<TextView
android:id="@+id/textViewRowDiscountAmount"
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:text="TextView" />
<TextView
android:id="@+id/textViewRowAmountWithDiscount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_weight="1"
android:layout_marginRight="5dp"
android:text="TextView" />
</LinearLayout>
</RelativeLayout>
<ImageView
android:id="@+id/imageViewEditRowSale"
android:layout_width="@dimen/size_45px"
android:layout_height="@dimen/size_45px"
android:layout_marginTop="5dp"
android:layout_alignParentRight="true"
android:src="@drawable/ic_action_edit" />
通过ConstraintLayout实现。谢谢大家。
答案 0 :(得分:0)
您可以通过添加以下行来将TextView
中的行数限制为2:
android:ellipsize="end"
android:lines="2"
结束椭圆化结束意味着如果文本太长则会被三个点替换......
答案 1 :(得分:0)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayoutSaleListRow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:orientation="horizontal"
android:padding="5dp" >
<ImageView
android:id="@+id/imageViewRemoveRowSale"
android:layout_width="@dimen/size_30px"
android:layout_height="@dimen/size_30px"
android:layout_alignParentLeft="true"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:src="@drawable/ic_action_remove"/>
<RelativeLayout
android:id="@+id/relativeLayoutIncQuantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/imageViewRemoveRowSale"
android:layout_toLeftOf="@+id/imageViewEditRowSale"
android:orientation="horizontal">
<TextView
android:id="@+id/textViewRowPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:text="TextView" />
<TextView
android:id="@+id/textViewRowQuantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewRowPrice"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:text="TextView" />
<TextView
android:id="@+id/textViewRowName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/textViewRowPrice"
android:text="text"
android:minLines="2"/>
<LinearLayout
android:id="@+id/layoutDiscount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewRowName"
android:orientation="horizontal">
<TextView
android:id="@+id/textViewRowDiscountAmount"
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:text="TextView" />
<TextView
android:id="@+id/textViewRowAmountWithDiscount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_weight="1"
android:layout_marginRight="5dp"
android:text="TextView" />
</LinearLayout>
</RelativeLayout>
<ImageView
android:id="@+id/imageViewEditRowSale"
android:layout_width="@dimen/size_45px"
android:layout_height="@dimen/size_45px"
android:layout_marginTop="5dp"
android:layout_alignParentRight="true"
android:src="@drawable/ic_action_edit" />
</RelativeLayout>
希望这有帮助
答案 2 :(得分:0)
如果你想显示AmountWithDiscount低于折扣,那么改变衬里布局方向如下。
select rg.guardian_name,
rg.guardian_id,
rg.guardian_email
from rts_guardian rd, rts_ward rw, rts_wrdgrd_junction junct
where rg.guardian_id = junct.guardian_id and rw.ward_id=junct.ward_id and rw.garde='VIII';
答案 3 :(得分:0)
您可以尝试以下代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayoutSaleListRow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:orientation="horizontal"
android:padding="5dp" >
<ImageView
android:id="@+id/imageViewRemoveRowSale"
android:layout_width="@dimen/size_30px"
android:layout_height="@dimen/size_30px"
android:layout_alignParentLeft="true"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:src="@drawable/ic_action_remove"/>
<RelativeLayout
android:id="@+id/relativeLayoutIncQuantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_toRightOf="@+id/imageViewRemoveRowSale"
android:layout_toLeftOf="@+id/imageViewEditRowSale"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rr_layout">
<TextView
android:id="@+id/textViewRowPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:text="TextView" />
<TextView
android:id="@+id/textViewRowQuantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewRowPrice"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:text="TextView" />
<TextView
android:id="@+id/textViewRowName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/textViewRowPrice"
android:text="TextView" />
</RelativeLayout>
<LinearLayout
android:id="@+id/layoutDiscount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/rr_layout"
android:orientation="horizontal">
<TextView
android:id="@+id/textViewRowDiscountAmount"
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:text="TextView" />
<TextView
android:id="@+id/textViewRowAmountWithDiscount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_weight="1"
android:layout_marginRight="5dp"
android:text="TextView" />
</LinearLayout>
</RelativeLayout>
<ImageView
android:id="@+id/imageViewEditRowSale"
android:layout_width="@dimen/size_45px"
android:layout_height="@dimen/size_45px"
android:layout_marginTop="5dp"
android:layout_alignParentRight="true"
android:src="@drawable/ic_action_edit" /></RelativeLayout>
答案 4 :(得分:0)
对衬里布局进行一些改变..
<LinearLayout
android:id="@+id/layoutDiscount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewRowQuantity"
android:orientation="horizontal"
android:weightSum="1"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.3">
<TextView
android:id="@+id/textViewRowDiscountAmount"
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:singleLine="true"
android:text="TextViewsdfsdfdsgfd" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.7">
<TextView
android:id="@+id/textViewRowAmountWithDiscount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:singleLine="true"
android:layout_marginRight="5dp"
android:text="textview" />
</LinearLayout>
</LinearLayout>