Android 多个文本视图不';t在线性布局中正确对齐

Android 多个文本视图不';t在线性布局中正确对齐,android,layout,textview,alignment,Android,Layout,Textview,Alignment,我试图在我相当简单的布局中添加8个文本视图。 我希望每行有两个文本视图和四个这样的行。 我的挑战是在这个布局中排列第二、第四、第六和第八个文本视图。 第1、第3、第5和第7个文本视图上的文本长度不同 我无法将每行中的seocnd文本视图垂直对齐 基本上,这些文本视图需要从垂直对齐的同一行开始,无论该行中第一个文本视图的长度是多少: 有人能帮忙吗 这是我的XML <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:

我试图在我相当简单的布局中添加8个文本视图。 我希望每行有两个文本视图和四个这样的行。 我的挑战是在这个布局中排列第二、第四、第六和第八个文本视图。 第1、第3、第5和第7个文本视图上的文本长度不同

我无法将每行中的seocnd文本视图垂直对齐

基本上,这些文本视图需要从垂直对齐的同一行开始,无论该行中第一个文本视图的长度是多少:

有人能帮忙吗

这是我的XML

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/productDetailsLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white"
android:orientation="vertical" >

<include
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    layout="@layout/logo_logout" />


<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp" >

    <TextView
        android:id="@+id/ProductDetailsTitle"
        android:layout_width="wrap_content"
        android:layout_height="43dp"
        android:layout_marginTop="10dp"
        android:background="@color/Navy"
        android:gravity="center"
        android:text="@string/ProductDetailsTitle"
        android:textColor="@color/white"
        android:textSize="20dp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/ProductDetailsEditButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_weight="0.36"
        android:text="Edit"
        android:textSize="20dp" />
</LinearLayout>

<include
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    layout="@layout/product_details_mainpage_part1" />

<include
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    layout="@layout/product_details_mainpage_part2" />

<include
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    layout="@layout/product_details_mainpage_part3" />

<include
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    layout="@layout/product_details_mainpage_part44" />

</LinearLayout>

也许这会有所帮助。您可以使用每个
文本视图的
背景色
,以及
顶部填充
,使其成为您想要的样子。希望这有帮助

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:baselineAligned="false"
    android:id="@+id/RelativeLayout"
    android:background="#ffffffff"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout
        android:id="@+id/background"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical" >

    <TextView
        android:id="@+id/ProductDetailsTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffffff"
        android:gravity="center"
        android:paddingTop="50dp"
        android:text="Hello, I am tired" />

    <TextView
        android:id="@+id/ProductDetailsTitle2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffffff"
        android:gravity="center"
        android:paddingTop="50dp"
        android:text="Hello" />

    <TextView
        android:id="@+id/ProductDetailsTitle3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffffff"
        android:gravity="center"
        android:paddingTop="50dp"
        android:text="Hello" />

    <TextView
        android:id="@+id/ProductDetailsTitle4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffffff"
        android:gravity="center"
        android:paddingTop="50dp"
        android:text="Hello" />
   </LinearLayout>


   <LinearLayout
       android:id="@+id/background2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:orientation="vertical" >

    <TextView
        android:id="@+id/ProductDetailsTitle5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"            
        android:background="#ffffffff"
        android:paddingTop="50dp"
        android:gravity="center"
        android:text="Hello" />

    <TextView
        android:id="@+id/ProductDetailsTitle6"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffffff"
        android:gravity="center"
        android:paddingTop="50dp"
        android:text="Hello" />

    <TextView
        android:id="@+id/ProductDetailsTitle7"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffffff"
        android:gravity="center"
        android:paddingTop="50dp"
        android:text="Hello" />

    <TextView
        android:id="@+id/ProductDetailsTitle8"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffffff"
        android:gravity="center"
        android:paddingTop="50dp"
        android:text="Hello, something" />

    </LinearLayout>
</LinearLayout>


我知道这是一篇老文章,但我也一直在努力解决这个问题。 我发现最有效的方法是膨胀视图,然后设置新的线性布局参数。这将导致两行和单行文字视图垂直居中对齐

    LayoutInflater inflater = (LayoutInflater) this.getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    TextView textView = (TextView) inflater.inflate(R.layout.workout_summary_textview, null);
    inflater = null;

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, height);
    params.gravity = Gravity.CENTER;

    textView.setLayoutParams(params);