如何在Android中的同一行显示2个文本视图

时间:2013-04-23 18:07:46

标签: android android-layout android-intent android-widget

我有我的布局xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
     android:id="@+id/titlename"  
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:text="@string/HostName"
 android:layout_weight="0"

/>
<TextView
     android:id="@+id/name"  
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
 android:layout_weight="0"
/>
</LinearLayout>

当我执行上面的操作时,我的输出如下:

enter image description here

但我的要求是得到我的输出:

|   text1:    text2    |

有人可以帮忙吗?

9 个答案:

答案 0 :(得分:18)

使用以下代码

enter image description here

已更新

 <?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="fill_parent"
   android:orientation="horizontal"
   android:weightSum="1" >
<TextView
    android:id="@+id/titlename"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.5"
    android:gravity="center"
    android:text="hi" />
<TextView
    android:id="@+id/name"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.5"
    android:gravity="center"
    android:text="2hi2" />
 </LinearLayout>

答案 1 :(得分:2)

让android:layout_width为0dp。然后为每个文本视图设置0.5个权重。每个textview将填充父布局的一半宽度。类似的东西:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
     android:id="@+id/titlename"  
android:layout_width="0dp"
android:layout_height="wrap_content" 
android:text="@string/HostName"
 android:layout_weight="0.5"

/>
<TextView
     android:id="@+id/name"  
android:layout_width="0dp"
android:layout_height="wrap_content" 
 android:layout_weight="0.5"
/>
</LinearLayout>

答案 2 :(得分:0)

我会取出weight属性。这是我唯一能看到的就是搞砸了。另请注意,fill_parent已弃用,您应使用match_parent代替

或者,如果您出于某种原因需要weight,那么如果您希望它们分别占据屏幕的一半,则将每个更改为1.

此外,如果使用weight,则应设置android:layout_width="0dp"

答案 3 :(得分:0)

为LinearLayout设置android:orientation="horizontal"

答案 4 :(得分:0)

如下所示更新布局,除非在父LinearLayout上设置weightSum,否则不希望包含weight = 0属性。加上重量和重量太大并不适合你想要的东西。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView
         android:id="@+id/titlename"  
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" 
         android:text="@string/HostName"

        />
    <TextView
         android:id="@+id/name"  
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" 
        />
</LinearLayout>

答案 5 :(得分:0)

您可以尝试使用RelativeLayout

通过它,您可以在titlename元素设置alignParentTop="true"并在名称元素处设置名称alignTo="@id/titlename"toRightOf="@id/titlename"

答案 6 :(得分:0)

实际上你的原始代码在我的ADT中完美运行。您是否更改了更新第二个textview的Java代码中的文本大小或行填充?

答案 7 :(得分:0)

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

<TextView
     android:id="@+id/titlename"  
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" 
     android:text="@string/HostName"
/>
<TextView
     android:id="@+id/name"  
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" 
/>
</LinearLayout>

答案 8 :(得分:0)

在TextView名称中添加:android:layout_toRightOf="@+id/titlename"并将layout_marginLeft更改为所需的值。

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

<TextView
    android:id="@+id/titlename"  
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:text="@string/HostName"
    android:layout_marginLeft="50dp"
    android:layout_weight="0"/>

<TextView
    android:id="@+id/name"  
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/titlename"
    android:layout_marginLeft="50dp"
    android:layout_weight="0"/>
</LinearLayout>

与您的演出相同:“

enter image description here