在相对布局android中对齐视图

时间:2014-01-23 05:46:24

标签: android android-layout alignment relativelayout android-xml

我想对齐2个文本视图 - 一个在左上角,另一个在右下角。这些文本视图放在imageswitcher视图上。我得到了我想要的东西,除了底部的textview与左边对齐。我无法将其与右边对齐。

以下是代码:

    <?xml version="1.0" encoding="utf-8"?>  

    <RelativeLayout   

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

     <ImageSwitcher
        android:id="@+id/switcher"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:inAnimation="@anim/fade_in"
       />

    <TextView  
        android:id="@+id/tv_1"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="15dp"
        android:layout_width="140dp" 
        android:layout_height="40dp"
        android:layout_alignParentTop="true"
        android:gravity="center_horizontal|center_vertical"
        android:text="TV 1"
        android:textStyle="normal"
        android:textSize="14sp"
        android:textAlignment="center"
        android:background="@drawable/button_bg"
        android:textColor="@color/white"/>

       <TextView  
        android:id="@+id/tv_2"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="15dp"
        android:layout_width="140dp" 
        android:layout_height="40dp"
        android:layout_alignParentBottom="true"
        android:gravity="center_horizontal|center_vertical"
        android:text="TV2"
        android:textStyle="normal"
        android:textSize="14sp"
        android:textAlignment="center"
        android:background="@drawable/button_bg"
        android:textColor="@color/white"/> 

</RelativeLayout> 

4 个答案:

答案 0 :(得分:1)

将此属性添加到底部TextView

android:layout_alignParentRight="true"

这将有助于:)

<强> layout.xml

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

<ImageSwitcher
    android:id="@+id/switcher"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:inAnimation="@anim/fade_in" />

<TextView
    android:id="@+id/tv_1"
    android:layout_width="140dp"
    android:layout_height="40dp"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="15dp"
    android:layout_marginTop="20dp"
    android:background="@drawable/button_bg"
    android:gravity="center_horizontal|center_vertical"
    android:text="TV 1"
    android:textAlignment="center"
    android:textColor="@color/white"
    android:textSize="14sp"
    android:textStyle="normal" />

<TextView
    android:id="@+id/tv_2"
    android:layout_width="140dp"
    android:layout_height="40dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_marginBottom="20dp"
    android:layout_marginLeft="15dp"
    android:background="@drawable/button_bg"
    android:gravity="center_horizontal|center_vertical"
    android:text="TV2"
    android:textAlignment="center"
    android:textColor="@color/white"
    android:textSize="14sp"
    android:textStyle="normal" />

答案 1 :(得分:1)

删除两个文本视图中的重力。并将align_parent_left和align_parent_top添加到第一个textview,并将align_parent_bottom和align_parent_right添加到第二个textview。请尝试以下代码:

  <TextView  
    android:id="@+id/tv_1"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="15dp"
    android:layout_width="140dp" 
    android:layout_height="40dp"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:text="TV 1"
    android:textStyle="normal"
    android:textSize="14sp"
    android:textAlignment="center"
    android:background="@drawable/button_bg"
    android:textColor="@color/white"/>

   <TextView  
    android:id="@+id/tv_2"
    android:layout_marginBottom="20dp"
    android:layout_marginRight="15dp"
    android:layout_width="140dp" 
    android:layout_height="40dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:text="TV2"
    android:textStyle="normal"
    android:textSize="14sp"
    android:textAlignment="center"
    android:background="@drawable/button_bg"
    android:textColor="@color/white"/> 

答案 2 :(得分:0)

我没试过这个,但是尝试将以下内容更改为marginRight或者为marginLeft增加dp。

android:layout_marginLeft="15dp"

答案 3 :(得分:0)

试试这个

  android:layout_alignParentRight="true"

如果您想在保证金和 @ + id / tv_2 之间留出一些空格,那么您可以调整以下属性:

android:layout_marginRight="XXdp"