2013-04-20 37 views
6

Cách áp dụng row_span cho TableLayout?Làm cách nào để áp dụng khoảng thời gian trong tablelayout?

Tôi muốn làm một cái gì đó tương tự như hình ảnh này, nhưng tôi không biết làm thế nào để làm điều đó.

table image

Cách chính xác để làm điều gì đó như thế này?

+0

có vẻ như một khả năng lặp lại http://stackoverflow.com/questions/2189986/android-table-layout-rowspan –

+0

là không bị trùng lặp. Đó không phải là câu trả lời cho câu hỏi tôi hỏi. – miguel

+0

bạn có bất kỳ giải pháp nào cho điều này –

Trả lời

0

Bạn đã sử dụng "android: layout_span" nó có thể được sử dụng để span hàng. Bạn không thể lấy nó qua Ctrl + Space, bạn cần phải gõ nó theo cách thủ công.

+1

Đó là cho các cột mở rộng. – JakeSteam

+0

được khen ngợi, hoạt động chính xác với tôi – kemdo

+0

đã hoạt động! thực sự cảm ơn Tushski –

4

nhỏ gian lận (có thể khá phức tạp để mã hóa và chỉ có giá trị cho một thiết kế đơn giản):

Thực hiện một TableLayout. Đặt một số TableLayout khác trong cột đầu tiên và chế độ xem mà bạn muốn có hàng trong cột thứ hai. Bên trong TableLayout này có thể có số lượng lớn TableRows khi bạn nhả ra một chế độ xem khác.

Dưới đây là các mã:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:padding="@dimen/activity_horizontal_margin" 
    tools:context=".MainActivity"> 

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <TableRow 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:weightSum="3"> 

      <TableLayout 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1.5"> 

       <TableRow 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="@android:color/holo_blue_dark"> 

        <TextView 
         android:text="Row 1"/> 

       </TableRow> 

       <TableRow 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="@android:color/holo_blue_light"> 

        <TextView 
         android:text="Row 2"/> 

       </TableRow> 

       <TableRow 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="@android:color/holo_blue_bright"> 

        <TextView 
         android:text="Row 3"/> 

       </TableRow> 

      </TableLayout> 

      <TextView 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1.5" 
       android:text="Second column, rowspan 3" 
       android:background="@android:color/holo_purple" 
       android:gravity="center"/> 

     </TableRow> 

    </TableLayout> 

</LinearLayout> 

Vì vậy, tu Tóm lại:

TableLayout: Cột đầu tiên (TableLayout với càng nhiều TableRows như chúng ta muốn), cột thứ hai (yếu tố đó sẽ mất tất cả những không gian của hàng).

enter image description here

+0

tôi đã bỏ lỡ điều gì đó? làm thế nào u làm cho hai hàng == hai cột? u nên đặt hai bảng bố trí trong một hàng để đạt được hai cột sau đó trong tablelayout lồng nhau đặt hàng & trong tablelayout thứ hai một hàng hoặc bất kỳ nội dung khác. sau đó trong tập hợp hàng thứ hai = 2 – ceph3us

+0

Tôi xin lỗi. đó là một sai lầm. Tôi có nghĩa là hai cột, không phải hai hàng. Vấn đề là, cột đầu tiên chứa một TableLayout với nhiều hàng như bạn muốn span và cột thứ hai chỉ chứa một khung nhìn. Tôi sẽ chỉnh sửa. –