web-dev-qa-db-ja.com

Cardviewでのアイテムの整列

カードを次のようにしたい

enter image description here

私は私のレイアウトをこのように保ちました

    <Android.support.v7.widget.CardView
        Android:layout_gravity="center"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        card_view:cardCornerRadius="2dp"
        >

        <LinearLayout
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:orientation="vertical">

        <LinearLayout
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:orientation="horizontal">
        <TextView
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:text="Order# GAMH2103"
            Android:layout_marginStart="5dp"
            Android:layout_marginLeft="5dp"
            Android:gravity="start"
            Android:textSize="15dp"/>

            <TextView
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:text="Confirmed"
                Android:drawableRight="@drawable/check"
                Android:textColor="#00FF00"
                Android:gravity="end"
                Android:textSize="15dp"/>

        </LinearLayout>
            <View
                Android:layout_width="match_parent"
                Android:layout_height="1dp"
                Android:background="@Android:color/darker_gray"
                Android:layout_marginTop="5dp"
                />

        </LinearLayout>

どういうわけか、「確認済み」のTextViewを表示することができません。注文番号は確認できます。

私はgravitylayout_gravityを試してみましたが、どういうわけか通じませんでした。

助けてください。

ありがとう、ラクシュマン。

9
Lakshman Pilaka

次のレイアウトを使用します。これでうまくいきます。

ビューの配置を改善するには、常に線形レイアウトではなく相対レイアウトを使用することをお勧めします。

<Android.support.v7.widget.CardView
    Android:layout_gravity="center"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    card_view:cardCornerRadius="2dp">

    <RelativeLayout
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content">

        <TextView
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:text="Order# GAMH2103"
            Android:layout_marginStart="5dp"
            Android:layout_marginLeft="5dp"
            Android:gravity="start"
            Android:textSize="15dp"/>

        <TextView
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:text="Confirmed"
            Android:textColor="#00FF00"
            Android:gravity="end"
            Android:textSize="15dp"/>


    </RelativeLayout>

    </Android.support.v7.widget.CardView>
8

単純な相対レイアウトで十分です。

<RelativeLayout
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content">
    <TextView
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:text="Order# GAMH2103"
        Android:layout_marginStart="5dp"
        Android:layout_marginLeft="5dp"
        Android:gravity="start"
        Android:textSize="15dp"/>

    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Confirmed"
        Android:drawableRight="@drawable/check"
        Android:textColor="#00FF00"
        Android:layout_gravity="end"
        Android:textSize="15dp"/>

</RelativeLayout>

gravitylayout_gravityの違いに注意してください。gravityTextViewで使用する場合、それはinvisible内のテキストの位置に関係します。 boxこれはTextViewの境界なので、たとえばlayout_gravityは、親内のビューの位置に関係します。

0
hehe