2016-11-29 7 views
2

私は、カスタムアダプタを使用してリストビューに使用する線形レイアウトを持ち、画像と2つのテキストビューで構成されています。 私の問題は、最初のテキストビューの長さは必ずしも同じではないので、すべての2番目のテキストビューを同じ位置に揃える方法はわかりません。線形レイアウトの要素を右に配置

row.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_gravity="center" 
    android:layout_width="48dp" 
    android:layout_margin="5dp" 
    android:layout_height="48dp" 
    android:src="@drawable/ic_launcher" /> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_gravity="center" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="25dp" 
    android:text="TextView" /> 
<TextView 
    android:id="@+id/textView2" 
    android:layout_gravity="center" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="@color/txtresultadocolor" 
    android:textSize="25dp" 
    android:layout_marginLeft="15dp" 
    /> 

これが今の私のコードですが、2番目のテキストビューは常に変化します。 私は助けていただければ幸いです。

+0

あなたが達成しようとしている結果とは何ですか?各TextViewが特定の割合の水平スペースを占めるようにすることは可能です。また、固定幅の2番目のTextViewを作成するオプションです。 – foxanna

+0

考え方:1.利用可能な合計幅に基づいて 'TextView'の幅を計算します。 2.もし 'LinearLayout'の代わりに 'RelativeLayout'を使い、' TextView'を親の始点に、そして他のものを親の終点に合わせます。 4. 'GridLayout'または' TableLayout'を使用してください。 –

答えて

2

あなたは第二TextViewが一つの位置に取り付けることと、第一TextViewのサイズは、テキストの長さに応じて増加するようになります最初TextViewandroid:layout_weight="0.3"を与えることができます。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal"> 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="48dp" 
    android:layout_height="48dp" 
    android:layout_gravity="center" 
    android:layout_margin="5dp" 
    android:src="@drawable/ic_launcher" /> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:layout_weight="0.3" 
    android:text="TextViewd1391381231283123100" 
    android:textSize="25dp" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:layout_marginLeft="15dp" 
    android:text="adfafasdfs" 
    android:textColor="@color/Red" 
    android:textSize="25dp" /> 

+0

ありがとうございます。 –

+0

あなたの歓迎!! –

1

ここでの問題は、android:layout_gravity = "center"です。テキストビューは中央揃えで表示され、表示の長さはテキストサイズごとに異なり、同じ位置に揃えられません。

これを削除し、android:layout_marginLeft = "15dp"を最初のテキストビューに追加すると、両方のテキストビューも左の同じ位置に揃えられます。

0

ビューを右に揃えるには、android:layout_gravity="right"を使用します。

関連する問題