0

私はこの 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>

これのレンダリングはここにあります: ここに画像の説明を入力

問題は赤枠 (写真上) にあります: 大きなコンテンツ (多くの単語) がある場合、2 番目の価格 (一番下) が自分自身を一番下に置き、テキストは 1 番目の価格と 2 番目の価格の間に来ます..

どうすれば最初の価格の底にとどまることができるか知りたいです、ありがとう!

4

4 に答える 4

0

TextView はこの機能を提供していないため、これを実現するのはかなり困難です。

ただし、まだ可能です。

TextView を拡張することができ、テキストを表示することになっている場合 (どの方法か不明)、最後の 2 行のテキストを測定して (おそらくPaint.measureTextを使用して)、価格 textView を配置する場所を知ることができます。

最初のものはY座標を与え、最後のものはテキストビューを配置した場合にラップするかどうかを教えてくれるので、Y座標に余分なものを追加する必要があるため、2と言います。

もう 1 つの考えられる解決策は、価格を説明 TextView 内のテキストとして配置することです。このソリューションでは、新しい行を作成する必要があるか、現在の行を使用する必要があるかを知るために、最後の行も確認する必要があります。また、配置するスペースの数を知る必要があります。

とにかく、他の人が述べたように、簡単な方法は、常に価格をテキストの下に置くことです.

于 2013-03-30T11:53:18.337 に答える
0

2 番目の価格を設定layout_align_parent_bottom="true"したため、底に固定されたままになります。これを に変更しlayout_below="@+id/souscarte_element_promoT"ます。

RelativeLayout では、子を重ねることができるため、子の配置方法に注意しないと、子が他の子の上に描画されることに注意してください。

于 2013-03-30T00:23:28.323 に答える
0

メイン レイアウト内に 2 つのレイアウトをネストできます...

1 つはテキスト用、もう 1 つは価格用

このようなもの:

<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>
于 2013-03-30T00:23:53.690 に答える