【问题标题】:Alignment of views in relative layout android相对布局android中视图的对齐方式
【发布时间】:2014-01-23 05:46:23
【问题描述】:

我想对齐 2 个文本视图——一个在左上角,一个在右下角。这些文本视图被放置在 imageswitcher 视图之上。我得到了我想要的,除了底部的文本视图与左侧对齐。我无法将其向右对齐。

代码如下:

    <?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> 

【问题讨论】:

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


    【解决方案1】:

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

      <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】:

      将此属性添加到底部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" />
      

      【讨论】:

      • 我添加了它,但没有帮助,所以我删除了它。
      • 添加该属性时遇到了什么问题??
      • 我刚刚复制了你的 xml 布局并检查了该属性...它对我来说很好
      • 它没有向右对齐。它与左下角对齐,而顶视图与左上角对齐。我需要底部对齐到右边。
      【解决方案3】:

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

      android:layout_marginLeft="15dp"
      

      【讨论】:

        【解决方案4】:

        试试这个

          android:layout_alignParentRight="true"
        

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

        android:layout_marginRight="XXdp"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-08-23
          • 2014-02-02
          • 1970-01-01
          相关资源
          最近更新 更多