2015-02-28 7 views
0

У моего макета есть несколько сложных макетов, и они довольно большие. Вот почему мне нужен ScrollView. Но все, что я пробовал, не работает.ScrollView не работает

Вот мой файл макета:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_height="match_parent" 
     android:layout_width="fill_parent" 
     android:fillViewport="true" 
     android:layout_weight="1" 
     android:orientation="vertical" 
     > 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 
<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="1"> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="0.33" 
     android:id="@+id/Linear1" 
     > 

     <RelativeLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:background="@color/tileColor1" 
      android:layout_weight="1" 
      android:id="@+id/tileLayout1" 
      android:onClick="openFirst" 
      > 

я только разместил его часть, но все закрывающие теги в порядке и в моей RelativeLayout есть 2 textViews и изображение. Есть ещес той же структурой.

Как исправить проблему и почему она не работает? В нем нет даже полосы прокрутки.

EDIT

Я загрузил my full layout to pastebin

EDIT 2

На developer.android сказано: You should never use a ScrollView with a ListView, because ListView takes care of its own vertical scrolling. Most importantly, doing this defeats all of the important optimizations in ListView for dealing with large lists, since it effectively forces the ListView to display its entire list of items to fill up the infinite container supplied by ScrollView.

Mine не имеет дело с прокруткой вообще. Я полагаю, что это так, потому что я редактирую LayoutParams в коде. Как это исправить?

+0

Уточнитните «не работает» –

+0

@IvanWooll он не прокручивается и не появляется – Vendetta8247

+0

http://stackoverflow.com/questions/13379307/scrollview-not-working-in-android –

ответ

1

1. Попробуйте удалить android:layout_weight="1" и android:orientation="vertical".

2. Убедитесь, что есть только один ViewGroup внутри ScrollView (то есть один ребенок, как они говорят). Я предполагаю, что вы это сделали, но поскольку вы не предоставили свой полный макет, я не смог его подтвердить.

+0

Все еще ничего. И да, «LinearLayout» - единственный ребенок. Я уже прочитал несколько вопросов здесь, поскольку есть много похожих, но все, что я пробовал, не работает ... – Vendetta8247

+0

Только что заметил, что вы отредактировали свой ответ. Я попытался удалить все, что вы мне сказали, и это все еще не работает. Я могу опубликовать весь свой макет, если это необходимо – Vendetta8247

+0

@ Vendetta8247: я не помню, как это редактировалось, но в любом случае отправьте комментарий здесь, чтобы напомнить мне, когда вы закончите размещение своего макета :) –

0

ScrollView принимает только один дочерний вид. Таким образом, оберните все внутри LinearLayout с параметром wrap_content, установленным как высота, и вы настроены.

+0

Он завернут в линейный макет, и теперь, когда я изменил его высоту на wrap_content, он все равно не работает. – Vendetta8247

0

У меня была такая же проблема, и я не знаю, помогло ли мое решение (главным образом, потому что это очень поздний ответ), но мой ScrollView не работал с тех пор, как был настроен макет, который точно соответствует экрану, не нужно создавать прокрутку. Когда увеличился мой макет (я положил все свои предметы с android:layout_height = WRAP_CONTENT).

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