2017-04-25 39 views
0

我的申请(https://i.stack.imgur.com/xFozp.png对齐2 textviews水平机器人

正如我水平对齐textviews在图像中看到的屏幕。当产品名称更长时,名称将在文本视图中以2行显示。 但是,当textview中的行数增加时,两个textview的起始行不是水平对齐的。 我希望textviews的起始行水平对齐。 目前我正在使用LINEAR布局。我应该改变布局吗?任何人都可以编写代码。 因此,即使2个文本浏览互相之间(如图中所示),他们的开始(第一行)应该在同一水平线。

我的代码如下 -

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="10dp" 
    android:background="@drawable/b22" 
    android:gravity="center|left" 
    android:orientation="horizontal" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="10dp" 
     android:text="TextView" 
     android:textColor="@android:color/black" 
     android:textSize="15dp" 
     android:maxLines="3" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right|center" 
     android:text="TextView" 
     android:textColor="@android:color/black" 
     android:maxLines="3" /> 

</LinearLayout> 
+1

发表您的布局....代码 – rafsanahmad007

+0

嗨,添加了我的布局代码。 – user3444096

回答

0

1.删除属性android:gravity="center|left"

2.删除属性android:layout_gravity="right|center"textView2并改变其为android:layout_width="match_parent"宽度。

试试这个:

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

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="10dp" 
     android:text="Product Name -" 
     android:textColor="@android:color/black" 
     android:textSize="15dp" 
     android:maxLines="3" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="This is Liberty Agile Pension Preserver Product" 
     android:textColor="@android:color/black" 
     android:maxLines="3" /> 

</LinearLayout> 

OUTPUT:

enter image description here

为您设计,其最好使用一个单一的RelativeLayout,并把所有的TextViews的里面。

下面是一个例子:

<?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="wrap_content" 
    android:layout_margin="10dp" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="10dp" 
     android:text="Product Name -" 
     android:textColor="@android:color/black" 
     android:textSize="15dp" 
     android:maxLines="3" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@id/textView1" 
     android:layout_alignTop="@id/textView1" 
     android:text="This is Liberty Agile Pension Preserver Product" 
     android:textColor="@android:color/black" 
     android:maxLines="3" /> 

    <TextView 
     android:id="@+id/textView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/textView2" 
     android:layout_marginTop="20dp" 
     android:layout_marginRight="10dp" 
     android:text="Number of Senarios Executed -" 
     android:textColor="@android:color/black" 
     android:textSize="15dp" 
     android:maxLines="3" /> 

    <TextView 
     android:id="@+id/textView4" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@id/textView3" 
     android:layout_alignTop="@id/textView3" 
     android:text="400" 
     android:textColor="@android:color/black" 
     android:maxLines="3" /> 

</RelativeLayout> 

OUTPUT:

enter image description here

希望这将有助于〜

+0

非常感谢!它的工作很棒。 – user3444096

+0

最受欢迎:) – FAT

0

考虑使用LinearLayout为两个TextViewsweightSum。在总和中给他们两个分量。下面是一个例子,从LinearLayout

<LinearLayout 
    android:id="@+id/text_layout" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="15dp" 
    android:layout_marginLeft="15dp" 
    android:layout_marginTop="5dp" 
    android:weightSum="2" 
    android:background="@android:color/white"> 

    <TextView 
    android:id="@+id/tvProductNameLabel" 
    android:layout_width="0dp" 
    android:layout_weight="0.6" 
    android:layout_height="wrap_content" 
    android:text="Product Name" 
    android:gravity="right" 
    android:textSize="14sp" 
    android:layout_marginRight="10dp"/> 

    <TextView 
    android:id="@+id/tvProductName" 
    android:layout_width="0dp" 
    android:layout_weight="1.4" 
    android:textSize="14sp" 
    android:textColor="@android:color/black" 
    android:layout_height="wrap_content" 
    android:text="" 
    android:layout_marginLeft="10dp" 
    android:layout_gravity="left"/> 
</LinearLayout>