2013-07-10 43 views
12

Tiếp theo là mã xml của tôi:nào stretchMode để sử dụng trong GridView trên android

<?xml version="1.0" encoding="utf-8"?> 
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gridviewgallery" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:columnWidth="@dimen/gridview_column_width" 
    android:numColumns="auto_fit" 
    android:verticalSpacing="0dp" 
    android:horizontalSpacing="0dp" 
    android:stretchMode="columnWidth" 
    android:gravity="center" 
    android:background="#444444" 
/> 

Khi tôi sử dụng android: stretchMode = "columnWidth", nó tạo ra một khoảng cách giữa các cột (mặc dù nó lấp đầy chiều rộng màn hình) Và nếu tôi sử dụng android: stretchMode = "none", nó được căn trái và có một khoảng trống ở bên phải màn hình (mặc dù bây giờ không có khoảng cách giữa các cột) Vấn đề là tôi muốn cả hai: Để lấp đầy chiều rộng màn hình cũng như không có khoảng cách giữa các cột. Làm thế nào để đạt được nó?

+0

Tăng số cột. –

Trả lời

5

Đó là anh chàng rất đơn giản, chỉ cần loại bỏ các dòng

android:columnWidth="@dimen/gridview_column_width" 

bạn có thể chỉ định bất kỳ số lượng cột, tôi đang cho số cột = 4

android:numColumns = "4" 

này đang làm việc tốt cho tôi

11

Kết hợp android:numColumns="auto_fit"android:stretchMode="columnWidth"android:columnWidth="60dp" sẽ cung cấp cho bạn bố cục điều chỉnh cho các kích thước màn hình khác nhau. Tốt hơn nhiều so với sửa số cột. Xem ví dụ dưới đây ...

<GridView 
     android:id="@+id/tablegrid" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#ffff7965" 
     android:horizontalSpacing="5dp" 
     android:verticalSpacing="5dp" 
     android:layout_marginStart="5dp" 
     android:layout_marginLeft="5dp" 
     android:numColumns="auto_fit" 
     android:stretchMode="columnWidth" 
     android:gravity="center" 
     android:columnWidth="60dp" 
     /> 
+0

Tôi đã dành vài ngày để tìm giải pháp này! Xuất sắc! – Alexey

0

Tôi biết câu hỏi này là một ít tuổi nhưng đây là một câu trả lời tôi đã tìm thấy hy vọng này sẽ giúp người khác, chỉ dành riêng cho android:stretchMode sử dụng spacingWidthUniform như nó nói trong tài liệu here nó sẽ kéo dài khoảng cách giữa các cột bằng nhau.

vui lòng tham khảo liên kết ở trên để biết thêm thông tin.

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