Просмотр сетки внутри HorizontalScrolView

#android

#Android

Вопрос:

Могу ли я узнать, как вставить GridView в HorizontalScrollView .
Мой XML-код приведен ниже, но он не работает.

 <HorizontalScrollView android="http://schemas.android.com/apk/res/android" 
    android:layout_width="500dp" android:layout_height="500dp">
    <GridView android:layout_width="500dp" android:layout_height="400dp" 
        android:id="@ id/grid" android:columnWidth="65dp" android:padding="5dp" 
        android:horizontalSpacing="10dp" android:verticalSpacing="10dp" 
        android:numColumns="4"/>
</HorizontalScrollView>
  

Комментарии:

1. Вам нужен как горизонтальный, так и вертикальный вид прокрутки для просмотра сетки или просто горизонтальный

2. Либо я слепой, либо вы забыли опубликовать здесь свой XML-код

3. Пожалуйста, определите «не работает». Что происходит? Что должно произойти? Есть исключения?

4. На самом деле вы не можете поместить GridView внутри ScrollView — да в этом и нет особой необходимости.

Ответ №1:

Мое решение таково: в xml-файле поместите GridView в LinearLayout, затем поместите LinearLayout в HorizontalScrollView. наконец, установите ширину LinearLayout.

 LayoutParams linearParams = (LinearLayout.LayoutParams)gridview.getLayoutParams();
        linearParams.width=100*al.size();
        gridview.setLayoutParams(linearParams);
        gridview_type1.setColumnWidth(100);
  

пусть HorizontalScrollView знает Linearlayout’width, чтобы HorizontalScrollView мог запускать и останавливать прокрутку. И не забывайте android: ориентация =»horizontal» в LinearLayout.

Комментарии:

1. Это работает. Единственное решение, которое я нашел, которое допускает как вертикальную, так и горизонтальную прокрутку gridview.

2. Решение для горизонтальной прокрутки gridview, которое работает без необходимости создавать совершенно новый класс или использовать библиотеку. Большое вам спасибо!

3. Что это за al.size ()?

Ответ №2:

Попробуйте это свойство для XML-файла GridView :

 android:scrollbars="horizontal"
  

и нет необходимости помещать GridView в HorizontalScrollVoew, поскольку сам GridView обладает свойством прокрутки.

Комментарии:

1. здравствуйте, я пытаюсь установить это свойство, но результата нет

2. Не работает. Просмотр сетки не прокручивается по горизонтали. Это должно быть в HorizontalScrollView

3. Это решение не работает. Единственное рабочее решение, которое я нашел, — это @Till’s one.