Прокрутка GridView только с кнопками - PullRequest
2 голосов
/ 27 марта 2011

У меня есть GridView только с кнопками. Кнопки должны быть в состоянии нажиматься (работает). Но если я хочу прокрутить сетку с множеством элементов, она не работает на моем HTC Desire, но это возможно в эмуляторе.

Мой GridView:

<GridView  
  android:id="@+id/gv_control_group" 
  android:layout_height="wrap_content"
  android:isScrollContainer="true" 
  android:layout_width="fill_parent"
  android:numColumns="auto_fit"
  android:verticalSpacing="10dp"
  android:horizontalSpacing="10dp"
  android:stretchMode="columnWidth"
  android:gravity="center"
  android:scrollingCache="true"
/>

GridViewItem:

<LinearLayout 
  android:id="@+id/gi_socket"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:orientation="vertical"
  android:gravity="center_horizontal">

<Button
   android:id="@+id/gi_btn"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:drawableTop="@drawable/green"
/>
</LinearLayout>

Второй вопрос: Как я могу заставить GridView показывать больше элементов рядом друг с другом при повороте устройства. Теперь он просто растягивает два элемента на всю ширину ...

android:stretchMode="none"

не работает

редактирование:

Это проблема с Android 2.2 В эмуляторе с 2.1 все работает. Но с Android 2.2 прокрутка больше невозможна ... Есть ли обходной путь, чтобы сделать это прокруткой в ​​2.2?

Ответы [ 2 ]

3 голосов
/ 31 марта 2011

1001 * решена *

проблема была в том, что над GridView находилась кнопка, оба были в LinearLayout. Self LinearLayout был в ScrollView. Таким образом, ScrollView препятствовал правильному поведению GridView (но не в Android 2.1!)

2 голосов
/ 30 марта 2011

Вы можете реализовать свои собственные GridView и переопределить onInterceptTouchEvent и onTouchEvent в зависимости от того, что вам нужно, чтобы вы могли определить, является ли это перемещение / прокрутка event и оставить event в вашем GridViewили, если вы нажмете на кнопку, передайте им event.

Надеюсь, это поможет

РЕДАКТИРОВАТЬ: относительно вашего второго вопроса, который вы можете использовать дляпример:

android:stretchMode="spacingWidthUniform"
android:numColumns="auto_fit"
android:columnWidth="100dip"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...