如何在垂直布局中将两个TextView放在同一行?

8
我正在尝试显示一个带有4个TextView的ImageView。这4个TextView分别是“标题”、“时间”、“年龄”和“信息”。它们都在全局水平布局中。而这4个TextView又在垂直布局中。问题是我想让“时间”和“年龄”在同一行上,但无法使用垂直布局实现。以下是我的XML代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
    android:id="@+id/imgLink"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_launcher" />



<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

     <TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Titre"
    android:textSize="8sp" 
    android:textStyle="bold" />

    <TextView
    android:id="@+id/time"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="8sp"
    android:text="age" />


    <TextView
    android:id="@+id/age"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
     android:textSize="8sp"
    android:text="age" />

    <TextView
    android:id="@+id/information"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ellipsize="end"
     android:textSize="8sp"
    android:text="phrase" />

</LinearLayout>

谢谢

IT技术相关内容翻译:


那么为什么不能再使用一个android:orientation="horizontal"或相对布局的LinearLayout呢? - Dheeresh Singh
因为如果你超出父元素的宽度,它不会换行到下一行。 - Trevor Hart
4个回答

6

请看下面内容

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

    <ImageView
        android:id="@+id/imgLink"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Titre"
            android:textSize="8sp"
            android:textStyle="bold" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Time"
                android:textSize="8sp" />

            <TextView
                android:id="@+id/age"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:text="age"
                android:textSize="8sp" />
        </LinearLayout>

        <TextView
            android:id="@+id/information"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:text="phrase"
            android:textSize="8sp" />
    </LinearLayout>

3
LinearLayout设置为两个文本视图的父级,并将该LinearLayout的方向设置为Horizontal
<LinearLayout 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
    android:id="@+id/time"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="8sp"
    android:text="time" />
<TextView
    android:id="@+id/age"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="8sp"
    android:text="age" />

<LinearLayout/>

我有3个线性布局,类似于这个线性布局,都在一个垂直方向的线性布局中。如果每个布局中的文本视图宽度不同,是否可以对齐它们? - Anuj

0
使用图形化布局,在同一行上放置年龄和时间字段...这样会更容易。

0

就像我说的,还有另一种方法可以使用相对布局,这是第二种方法

 <TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title"
android:textSize="8sp"
android:textStyle="bold"
android:layout_alignParentTop="true" />

<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="8sp"
android:text="time"
android:layout_below="@id/title" />


<TextView
android:id="@+id/age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
 android:textSize="8sp"
android:text="age"
android:layout_below="@id/title" 
android:layout_toRightOf="@id/time" />

<TextView
android:id="@+id/information"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
 android:textSize="8sp"
android:text="phrase"
android:layout_below="@id/time" />


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接