2014-10-31 3 views
2

У меня есть два вопроса: первое, что я создаю кучу gridviews, а элементы gridview - это только одно изображение, когда я помещаю 500 * 1000 изображений в элементы (у меня есть только четыре элементы), он отстает, как сумасшедший, но если я вставляю нижний res pic (100 * 200), он отлично работает. Так что может андроид не справиться с этим? (Я тоже использовал переработку вида)Расположение и оптимизация Android GridView

Во-вторых, я хочу, чтобы мои элементы сетки были шириной 125dp и имели ровно 2dp по вертикали и по горизонтали, если есть дополнительное пространство, растянуть GridView элементы, я использую этот код в моем XML для моего элемента вида сетки:

<?xml version="1.0" encoding="utf-8"?> 
<ImageView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:id="@+id/imageView_icon" 
    android:layout_height="wrap_content" > 

</ImageView> 

и мой GridView:

<GridView 
     android:id="@+id/gridView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:verticalSpacing="2dp" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_marginTop="5dp" 
     android:stretchMode="columnWidth" 
     android:scrollbars="none" 
     android:columnWidth="125dp"  
     android:horizontalSpacing="2dp" 
     android:numColumns="auto_fit" > 
    </GridView> 

это то, что я хочу:

want

и это то, что им получать: gridview

ответ

0

код макета GridView в порядке, изменить grid_item расположение, как это

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/imageView_icon" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:contentDescription="@string/hello_world" 
     android:adjustViewBounds="true" 
     android:scaleType="fitXY" 
     android:cropToPadding="false" /> 

</LinearLayout> 
+0

Решили мою проблему, спасибо !!!! –

+0

Итак, каков ответ на мой первый вопрос? может android не обрабатывать изображения с высоким разрешением? –

+0

@ user3469274: u не хватает атрибутов scaleType и 'adjustViewBounds'. Но лучше использовать изображение с разным разрешением и размещать эти изображения в разных папках с возможностью выбора – kId

0

попробовать, как это,

<GridView 
     android:id="@+id/gridView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:verticalSpacing="2dp" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_marginTop="5dp" 
     android:stretchMode="columnWidth" 
     android:scrollbars="none" 
     android:horizontalSpacing="2dp" 
     android:numColumns="2" > 
    </GridView> 
+0

только избавившись от ColumnWidth атрибут по-прежнему дает мне точный результат –

0

Просто добавьте атрибут numColumns на вашем GridView в XML.

android:numColumns="2" 

Для более подробной информации вы должны прочитать ниже ссылку: -

http://developer.android.com/guide/topics/ui/layout/gridview.html

+0

Если он используется таблицами, я бы не хотел, чтобы это было 2 строки, поэтому я предпочитаю t х ширина изображения одинакова, а число остается динамическим –

+0

, тогда вам нужно сделать планшета планшета – duggu

+0

, установив его на numrows = 2, все еще не помогает, может быть, потому, что элемент xml i должен использовать matchparent как ширину и высоту? –

Смежные вопросы