9 ответов:
оберните линейный макет с
<ScrollView><?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <!-- Content here --> </LinearLayout> </ScrollView> </LinearLayout>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scroll" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/container" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> </LinearLayout> </ScrollView>
вот как я сделал это путем проб и ошибок.
ScrollView - (внешняя оболочка).
LinearLayout (child-1). LinearLayout (child-1a). LinearLayout (child-1bС функцией ScrollView может иметь только одного ребенка, что ребенок является линейной разметкой. Затем все остальные типы компоновки появляются в первой линейной компоновке. Я еще не пытался включить относительный макет, но они сводят меня с ума, поэтому я буду ждать, пока мое здравомыслие не вернется.
Это можно сделать с помощью тега
<ScrollView>. Ибо ScrollView, одна вещь, вы должны напомнить, что, ScrollView должен иметь одного ребенка.если вы хотите, чтобы ваш полный макет был прокручиваемым, добавьте
<ScrollView>в верхней части. Проверьте пример, приведенный ниже.<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scroll" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <!-- Content here --> </LinearLayout> </ScrollView>но если вы хотите, чтобы какая-то часть вашего макета была прокручиваемой, добавьте
<ScrollView>в этой части. Проверьте пример, приведенный ниже.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="400dp"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <!-- Content here --> </LinearLayout> </ScrollView> </LinearLayout>
вам нужно использовать следующий атрибут и заключить его в линейный макет
<LinearLayout ...> <scrollView ...> </scrollView> </LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"`enter code here`> <---------Content Here ---------------> </LinearLayout> </ScrollView> </LinearLayout>
вам нужно разместить ScrollView как первый дочерний файл макета и теперь поместите свой linearlayout внутри него. Теперь android будет решать на основе контента и размера устройства, доступного для отображения прокручиваемого или нет.
убедитесь, что linearlayout не имеет родного брата, потому что ScrollView не может иметь более чем одного ребенка.
Comments