Я хотел бы добавить здесь ответ, потому что это сработало для меня. Я использовал задержки времени, в то время как циклы, все, что я мог придумать.
У меня было окно Windows Explorer открытой папки вывода. Я закрыл его, и все работало как прелесть.
Надеюсь, это кому-то поможет.
В 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>
В этом примере я могу установить видимость в коде для каждого дочернего элемента, и он будет соответствовать родительскому, как вы хотите.
Попробуйте добавить android: fillViewport = "true" к вашему ScrollView
помните, что android: layout_height = ”fill_parent” означает «установить высоту для высоты родителя» это явно не то, что вы хотите при использовании ScrollView. В конце концов, ScrollView станет бесполезным, если его содержание всегда будет таким же высоким, как и он сам. Чтобы обойти это, вам нужно использовать атрибут ScrollView с именем android: fillViewport. Когда установлено значение true, этот атрибут заставляет дочерний вид представления прокрутки расширяться до высоты ScrollView при необходимости. Когда дочерний элемент выше ScrollView, атрибут не имеет никакого эффекта.