线性布局将元素对齐到右侧

时间:2016-11-29 01:41:59

标签: android xml

我有一个线性布局,用于带有自定义适配器的列表视图,它包含一个图像和两个文本视图。 我的问题是第一个文本视图长度并不总是相同,所以我不知道如何将每个第二个文本视图对齐到相同的位置。

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"
     />

现在这是我的代码,但第二个文本视图总是在变化。 我将不胜感激任何帮助。

3 个答案:

答案 0 :(得分:2)

您可以将android:layout_weight="0.3"提供给第一个TextView,这会使第二个TextView附加到一个位置,并且第一个TextView的大小将根据文本的长度。

<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" />

答案 1 :(得分:1)

我想这里的问题是android:layout_gravity =“center”。文本视图显示为中心对齐,显示长度将根据文本大小而变化,并且不会对齐到相同的位置。

删除它并将android:layout_marginLeft =“15dp”添加到第一个textview时,两个textview也应该对齐到左边的相同位置。

答案 2 :(得分:0)

要将视图与正确对齐android:layout_gravity="right"