Представление в ScrollView не соответствует родительскому, как настроено

Я хотел бы добавить здесь ответ, потому что это сработало для меня. Я использовал задержки времени, в то время как циклы, все, что я мог придумать.

У меня было окно Windows Explorer открытой папки вывода. Я закрыл его, и все работало как прелесть.

Надеюсь, это кому-то поможет.

29
задан Kenny Wyland 18 March 2013 в 05:02
поделиться

2 ответа

В ScrollView используйте android:fillViewport="true", а для потомков ScrollView android:height="wrap_content". Если вы хотите иметь много дочерних элементов с разными атрибутами, сделайте основной дочерний элемент контейнером. Установите его как wrap_content, а его дочерний элемент - match_parent.

пример:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:fillViewport="true">

    <LinearLayout
        android:id="@+id/dynamic_frame"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/dimrix_sub_child"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:visibility="gone" >
        </LinearLayout>

        <LinearLayout
             android:id="@+id/dimrix_sub_child_21"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:visibility="gone" >
        </LinearLayout>
    </LinearLayout>
</ScrollView>

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

115
ответ дан ppreetikaa 18 March 2013 в 05:02
поделиться

Попробуйте добавить android: fillViewport = "true" к вашему ScrollView

помните, что android: layout_height = ”fill_parent” означает «установить высоту для высоты родителя» это явно не то, что вы хотите при использовании ScrollView. В конце концов, ScrollView станет бесполезным, если его содержание всегда будет таким же высоким, как и он сам. Чтобы обойти это, вам нужно использовать атрибут ScrollView с именем android: fillViewport. Когда установлено значение true, этот атрибут заставляет дочерний вид представления прокрутки расширяться до высоты ScrollView при необходимости. Когда дочерний элемент выше ScrollView, атрибут не имеет никакого эффекта.

8
ответ дан Pankaj Talaviya 18 March 2013 в 05:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: