3

我有一个看起来像这样的相对布局: 替代文字

这是代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >   
    <TextView
        android:id="@+id/nameText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:layout_alignParentLeft="true"
        android:text="Symbol"
        />
    <TextView
        android:id="@+id/priceText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:layout_toRightOf="@+id/nameText"
        android:gravity="right"     
        android:text="100"
     />  
    <TextView
        android:id="@+id/changeText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:layout_toRightOf="@+id/priceText"
        android:gravity="right"     
        android:text="1.3"
        />  
</RelativeLayout>

我怎样才能让公司名称在数字 1.3 旁边排成一行?

4

3 回答 3

3

跟进 Mayra 的回答,这是使用 layout_weight 的一种方法:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    >
    <TableRow>  
        <TextView
            android:id="@+id/left_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left|center_vertical"
            android:padding="5dip"
            android:layout_weight="0"
            android:text="Code"
            />
        <TextView
            android:id="@+id/middle_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="right|center_vertical"
            android:padding="5dip"
            android:layout_weight="1"
            android:text="Name of Company"
            />      
        <TextView
            android:id="@+id/right_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dip"
            android:gravity="right|center_vertical"
            android:layout_weight="0"       
            android:text="1.3"
            />
    </TableRow>
</TableLayout>
于 2010-08-28T03:26:31.837 回答
1

目前尚不清楚您想要发生什么,但这里有几个选项:

如果您希望列跨行对齐,您可以考虑使用TableLayout

您还可以使用“权重”属性来影响每个 TextView 占据的屏幕百分比。如果你在最左边的文本视图上赋值为 1,在另一个 2 上赋值为 0,这将导致左边的文本视图占用所有额外的空间,从而将中间的文本视图推到右边。这可能会导致中间文本视图看起来右对齐。您可以通过分配 2、5 和 3 来代替给左边的 20%、中间的 50% 和右边的 30%。

您也可以为文本视图设置一个明确的大小(以 dpi 为单位),但这对于不同大小的屏幕可能是有问题的。

于 2010-08-27T16:38:34.820 回答
0

我同意梅拉!使用 TableView,您将获得所需的格式,并保留 ListView 的几乎所有功能(scolling 和面向列表的功能)

于 2010-08-27T18:11:14.230 回答