2010-01-19 34 views
6

Tôi đã sauAndroid TableRow RelativeLayout Issue

<TableRow xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/admin_row" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal"> 
    <RelativeLayout android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:orientation="horizontal" 
        android:background="@color/silver"> 

tôi động cư bàn nhưng với sự bạc bố trí tương đối màu nó chỉ kéo dài khoảng 3/4 số dòng của bảng. Nếu tôi đặt LinearLayout với định hướng nằm ngang nó kéo dài hoàn toàn nhưng nếu tôi thay đổi nó thành dọc thì cùng một vấn đề sẽ xảy ra. Tôi cần bố cục tương đối trong hàng của bảng vì tôi cần một cái gì đó như thế này:

Giá trị
Chi tiết MoreDetail.

Bất kỳ ý tưởng nào về bố cục tương đối để kéo dài hàng của bảng?

Trả lời

1

Bạn nên đặt thuộc tính android:background="@color/silver" trên TableRow.

Tôi đã gặp vấn đề tương tự với LinearLayout bên trong ScrollView.

Hy vọng nó giúp,

Lint

+0

Tôi không cố tô màu hàng. Tôi đã sử dụng nó như một cơ chế gỡ lỗi để xác định lý do bố cục tương đối của tôi sẽ không kéo dài toàn bộ hàng. – phogel

6

Vì vậy, tôi đã tạm thời di chuyển trên từ vấn đề này nhưng nó đã đưa ra một lần nữa. Để nhắc lại, vấn đề tôi thấy là bố trí tương đối trong một hàng của bảng sẽ không kéo dài toàn bộ hàng bất kể tôi đặt chiều rộng và chiều cao của nó là bao nhiêu. Tôi đã tìm thấy một giải pháp mà buộc bất cứ bố trí để bắc qua dòng của bảng hoàn toàn (theo chiều ngang):

<TableRow xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/detail_row" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 
    <RelativeLayout android:layout_height="fill_parent" 
        android:layout_width="0dp" 
        android:layout_weight="1" 
        android:orientation="horizontal"> 

Chú giải này có vẻ là trong mâu thuẫn trực tiếp với những gì bảng hàng docs java bang:

Các trẻ em của một TableRow không cần để chỉ định layout_width và layout_height thuộc tính trong tệp XML . TableRow luôn áp dụng các giá trị tương ứng với FILL_PARENT và WRAP_CONTENT.

+1

Bạn chỉ cần thực hiện một ngày của tôi và giúp tôi đáp ứng thời hạn của tôi. Cảm ơn nhiều! – zabawaba99

12

Thử đặt android: stretchColumns = "0" hoặc android khác: stretchColumns = "*" trên thẻ TableLayout của bạn.

+0

wow, đó là một câu trả lời hoàn hảo! – PCoder

Các vấn đề liên quan