2011-03-09 75 views
2

我试图在行底创建一个包含行和一行的两列布局。到目前为止,我已经实现了两列,其中有行,但似乎无法弄清楚如何得到底行显示。以下是我的代码,注释是如何我尝试添加下面一行Android XML布局 - 包含行和底行的两列

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/tracker_id" 
android:orientation="horizontal" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/background" 
android:padding="10dp"> 

<!-- <ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="60dip"> --> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:gravity="center_horizontal" 
    android:background="#ffffff"> 
    <ImageView 
     android:id="@+id/icon" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentBottom="true" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="6dip" 
     android:src="@drawable/ic" /> 
    <Button 
     android:id="@+id/stop_button" 
     android:text="@string/stop" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_centerInParent="true" 
     android:paddingLeft="50dp" 
     android:paddingRight="50dp" 
     android:enabled="true" /> 
    <Button 
     android:id="@+id/pause_button" 
     android:text="@string/pause" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_centerInParent="true" 
     android:paddingLeft="50dp" 
     android:paddingRight="50dp" 
     android:enabled="true" /> 
    <ImageView 
     android:id="@+id/icon2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentBottom="true" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="6dip" 
     android:src="@drawable/ic2" /> 
</LinearLayout> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:gravity="center_horizontal" 
    android:background="#000000"> 
    <TextView 
     android:text="some text" 
     android:textSize="15pt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:gravity="right" /> 
    <TextView 
     android:text="more text" 
     android:textSize="15pt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:gravity="right" /> 
</LinearLayout> 

<!-- </ScrollView> 

<RelativeLayout 

    android:layout_width="fill_parent" 
    android:layout_height="60dip" 
    android:layout_marginTop="-55dp" 
    > 
    <TextView 
     android:text="Bottom" 
     android:textSize="15pt" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" /> 
</RelativeLayout> --> 

</LinearLayout> 

波纹管的布局,我想实现

 
--------------------- 
| icon  text | 
| button  text | 
| button  text | 
| icon  text | 
|     | 
| more more text | 
--------------------- 

回答

3

你必须在一个包装的一切第三个LinearLayout的方向=“垂直”,并将您的TextView添加到它的底部。

在伪布局:

<LinearLayout vertical> 
    <LinearLayout horizontal> 
     <LinearLayout vertical> 
      ... column 1 ... 
     </LinearLayout> 
     <LinearLayout vertical> 
      ... column 2 ... 
     </LinearLayout> 
    </LinearLayout> 
    <TextView/> 
</LinearLayout> 

这是因为你希望你的TextView垂直下方你列。

+0

所以做我们把图标,按钮,按钮和图标里面有什么你打成 “列1”。和“column2”里面的所有文字? – 2013-02-18 22:07:40

0

您是否尝试过使用TableLayout而不是LinearLayout来构成网格的图标/按钮/文本字段。您可以设置它,使其具有两列,但需要多行。 (如果这不是一个静态的安排,并且随着更多内容的添加,您想要滚动浏览图标/按钮/文本字段,您可能需要考虑带有用户定义布局视图的ListView布局......看起来像是这里有两个,一个是水平放置的按钮和文本,另一个是水平放置的图标和文本)。

然后,在TableLayout下面使用水平LinearLayout,使用与TableLayout中定义的宽度尺寸相同的最后一行(看起来像是希望它跨越您创建的两列)?

+0

我还没有尝试过TableLayout,但我不认为它适合我的需求,也不打算滚动。左列与右列无关。在我的例子中,我碰巧在每列中放置了4个项目。但谢谢你的回答 – esausilva 2011-03-09 21:12:14

0

试试这个:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/tracker_id" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="10dp"> 
<!-- <ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="60dip"> --> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 
      <TextView 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Education/Health" 
       android:textColor="#FE9A2E"/> 
      <TextView 
       android:id="@+id/tot_val" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="$60" 
       android:textColor="#FE9A2E" 
       android:layout_marginLeft="5dp"/> 
     </LinearLayout> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 
      <TableLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"> 
       <TableRow 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"> 
        <TextView 
         android:layout_width="0dp" 
         android:layout_height="wrap_content" 
         android:layout_weight="1" 
         android:text="Frequency" 
         android:textColor="#000" 
         android:layout_marginLeft="5dp"/> 
        <TextView 
         android:id="@+id/freq_spinner" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="Monthly" 
         android:textColor="#FE9A2E" 
         android:layout_marginRight="5dp"/> 
       </TableRow> 
       <TableRow 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 
        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="Amount" 
         android:textColor="#000" 
         android:layout_marginLeft="5dp" 
         android:layout_weight="1"/> 
        <TextView 
         android:id="@+id/amount_edit" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="$20" 
         android:textColor="#FE9A2E" 
         android:layout_marginRight="5dp"/> 
       </TableRow> 
       <TableRow 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 
        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="Quarterly Amount" 
         android:textColor="#000" 
         android:layout_marginLeft="5dp"/> 
        <TextView 
         android:id="@+id/quarter_edit" 
         android:layout_width="0dp" 
         android:layout_height="wrap_content" 
         android:text="$60" 
         android:textColor="#FE9A2E" 
         android:gravity="center" 
         android:layout_weight="1"/> 
        <TextView 
         android:id="@+id/quarter_edit" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="$60" 
         android:textColor="#FE9A2E" 
         android:layout_marginRight="5dp" 
         /> 
       </TableRow> 
      </TableLayout> 
     </LinearLayout> 
    </LinearLayout> 
<!-- <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:gravity="center_horizontal" 
    android:background="#ffffff"> 
    <Button 
     android:id="@+id/stop_button" 
     android:text="stop" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_centerInParent="true" 
     android:paddingLeft="50dp" 
     android:paddingRight="50dp" 
     android:enabled="true" /> 
    <Button 
     android:id="@+id/pause_button" 
     android:text="pause" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_centerInParent="true" 
     android:paddingLeft="50dp" 
     android:paddingRight="50dp" 
     android:enabled="true" /> 
    <ImageView 
     android:id="@+id/icon2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentBottom="true" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="6dip" 
     android:src="@drawable/ic_launcher" /> 
</LinearLayout> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:gravity="center_horizontal" 
    android:background="#000000"> 
    <TextView 
     android:text="some text" 
     android:textSize="15pt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:gravity="right" /> 
    <TextView 
     android:text="more text" 
     android:textSize="15pt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" 
     android:gravity="right" /> 
</LinearLayout> --> 

<!-- </ScrollView> 

<RelativeLayout 

    android:layout_width="fill_parent" 
    android:layout_height="60dip" 
    android:layout_marginTop="-55dp" 
    > 
    <TextView 
     android:text="Bottom" 
     android:textSize="15pt" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#ffffff" /> 
</RelativeLayout> --> 

</LinearLayout>