2010-09-24 89 views
1

我在创建具有4列的表格布局时存在问题,这些列横向跨越。如何创建一个4列的TableLayout?

我希望我的行看起来像这样:

AAPL | 200.00 | Image Divider | 1.53(+ 1.5%)

我想要200.00右对齐,以及1.53(+ 1.5%)。

<?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:background="@drawable/stocks_gradient" android:orientation="horizontal"> 
    <TableLayout android:layout_width="wrap_content" 
     android:layout_toLeftOf="@+id/priceText" android:layout_height="wrap_content" 
     android:id="@+id/TableLayout01"> 
     <TableRow android:layout_width="wrap_content" 
      android:layout_below="@+id/nameText" android:id="@+id/TableRow01" 
      android:layout_height="wrap_content"></TableRow> 
     <TextView android:id="@+id/nameText" android:layout_height="wrap_content" 
      android:padding="5dip" android:layout_alignParentLeft="true" 
      android:text="Symbol" android:textStyle="bold" android:textSize="24sp" 
      android:layout_width="100dp" android:textColor="#4871A8" /> 
     <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" android:textStyle="bold" android:textSize="24sp" 
      android:textColor="#4871A8" /> 
     <ImageView android:layout_toLeftOf="@+id/changeText" 
      android:id="@+id/verticalDivider" android:background="@drawable/vertical_divider" 
      android:layout_width="wrap_content" android:layout_height="48dp"></ImageView> 
     <TextView android:id="@+id/changeText" android:layout_height="wrap_content" 
      android:layout_toRightOf="@+id/priceText" android:gravity="right" 
      android:textSize="18sp" android:text="3.07(+1.08%)" android:padding="12dip" 
      android:layout_width="fill_parent" /> 
    </TableLayout> 

回答

2

android:layout_toLeftOfandroid:layout_toRightOfandroid:layout_below是与RelativeLayout的使用属性。您没有RelativeLayout。因此,上述XML中使用的那些属性对你没有好处。

要创建一个包含四列的行,请使用TableRow小部件的四个子项。

我不完全清楚你将如何实现你的右对齐的效果。可能android:gravity会让你在那里,但我怀疑问题比这更复杂。

+0

现在不是我的4个布局项目TableRow的子项吗? – 2010-09-26 06:18:35

+0

@Sheehan Alam:不可以。请注意您的''标签的位置。 – CommonsWare 2010-09-26 13:04:16

0

android:gravity应该是你需要的全部,因为你的TextView已经在width=fill_parent,例如,它会将文本与视图中的右侧对齐。

否则,你也可以玩android:layout_gravity="right",例如,如果您有width=wrap_content的视图,并且您需要告诉容器如何对齐它。