如何将textview对齐到屏幕的右上角

时间:2016-09-23 12:01:55

标签: android android-layout layout android-linearlayout

我有以下布局。我希望带有id tvName的textView位于左上方,带有id tvAddress的textView位于屏幕的右上角,如下所示

tvName tvAddress

在下面的代码中,我使用了layout_gravity属性,但它没有做我想要的

布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" 
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:id="@+id/tvName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:text="Name"/>

<TextView
    android:id="@+id/tvAddress"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:text="Address: "/>
</LinearLayout>

2 个答案:

答案 0 :(得分:2)

您可以使用相对布局轻松解决

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<TextView
    android:id="@+id/tvName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:layout_gravity="top|left"
    android:text="Name"/>

<TextView
    android:id="@+id/tvAddress"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="top|right"
    android:text="Address: "/>
</LinearLayout>

如果你想让LinearLayout使用它:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" 
android:weightsum="2"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:id="@+id/tvName"
    android:layout_width="0dp"
    android:layout_height="wrap_content" 
    android:weight="1"
    android:text="Name"/>

<TextView
    android:id="@+id/tvAddress"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:weight="1"
    android:gravity="right"
    android:text="Address: "/>
</LinearLayout>

答案 1 :(得分:1)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

        <TextView
            android:id="@+id/tvName"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Name"
            android:layout_weight="1"/>

        <TextView
            android:id="@+id/tvAddress"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Address: "
            android:layout_weight="1"/>
</LinearLayout>