我有这个layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingRight="10dp"
android:paddingLeft="10dp">
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dip"
android:background="@color/white"
android:layout_marginLeft="17dp"
android:layout_marginRight="17dp">
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/list_linearLayout">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- titre food -->
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:id="@+id/souscarte_element_titleT"
android:textColor="@color/black"
android:paddingLeft="5dp"/>
<!-- description food -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:id="@+id/souscarte_element_descT"
android:paddingLeft="5dp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<!-- promo food -->
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:id="@+id/souscarte_element_promoT"
android:gravity="right"
android:textColor="@color/black"
android:layout_alignParentRight="true"
android:layout_toLeftOf="@+id/souscarte_element_prixT"
android:paddingRight="5dp"/>
<!-- price food -->
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:id="@+id/souscarte_element_prixT"
android:gravity="right"
android:textColor="@color/black"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:paddingRight="5dp"/>
</RelativeLayout>
</FrameLayout>
这个渲染在这里:
问题出现在红框(图片上):当我有一个很大的内容(很多单词)时,第二个价格(在底部)将自己置于底部,文本介于第一个价格和第二..
我想知道如何让它保持在第一价格的底部,谢谢!
答案 0 :(得分:1)
请检查一下。 希望这对你有所帮助。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="10dp" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="17dp"
android:layout_marginRight="17dp"
android:background="#FFFFFF"
android:orientation="horizontal"
android:padding="5dip" >
<LinearLayout
android:id="@+id/list_linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:orientation="vertical" >
<TextView
android:id="@+id/souscarte_element_titleT"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:textColor="#000000"
android:textStyle="bold" />
<TextView
android:id="@+id/souscarte_element_descT"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:textColor="#000000" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:orientation="vertical" >
<TextView
android:id="@+id/souscarte_element_promoT"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingRight="5dp"
android:textColor="#000000"
android:textStyle="bold" />
<TextView
android:id="@+id/souscarte_element_prixT"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingRight="5dp"
android:textColor="#000000"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</FrameLayout>
答案 1 :(得分:0)
您已为第二个价格设置layout_align_parent_bottom="true"
,这就是它固定在底部的原因。将其更改为layout_below="@+id/souscarte_element_promoT"
。
请注意,RelativeLayout允许其子项重叠,因此如果您不小心如何安排孩子,它会将孩子吸引到其他孩子之上。
答案 2 :(得分:0)
您可以在主布局中嵌套两个布局......
一个用于文本,另一个用于价格
这样的事情:
<LinearLayout
android:orientation="horizontal" >
<LinearLayout <!--For the texts-->
android:layout_weight="1"
android:orientation="vertical" >
<TextView >
<TextView >
</LinearLayout>
<LinearLayout <!--For the prices-->
android:orientation="vertical" >
<TextView >
<TextView >
</LinearLayout>
</LinearLayout>
答案 3 :(得分:0)
由于TextView不提供此功能,因此这是一件非常难以实现的事情。
然而,它仍然有可能。
你可以扩展TextView,当它应该显示文本时(不知道在哪种方法中),你可以测量最后2行文本(可能使用Paint.measureText),以便知道在哪里放置价格textView。
我说2因为第一个会给你Y坐标,最后一个会告诉你它是否会换行以防你放置文本视图,所以你需要在Y坐标上添加额外的。
另一种可能的解决方案是将价格作为文本放在描述TextView中。在此解决方案中,您还需要检查最后一行,以便了解是否需要创建新行或使用当前行,并且需要知道要放置多少空格。
无论如何,正如其他人所提到的,一个简单的方法就是简单地将价格放在文本之下。