답변:
선형 레이아웃을 <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>
참고 : fill_parent 는 더 이상 사용되지 않으며 API 레벨 8 이상에서 match_parent 로 이름이 변경되었습니다 .
<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>
. 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>
시행 착오에 의해 내가 한 방법은 다음과 같습니다.
ScrollView - (the outer wrapper).
LinearLayout (child-1).
LinearLayout (child-1a).
LinearLayout (child-1b).
ScrollView에는 자식이 하나만있을 수 있으므로 해당 자식은 선형 레이아웃입니다. 그런 다음 다른 모든 레이아웃 유형이 첫 번째 선형 레이아웃에서 발생합니다. 나는 아직 상대적인 레이아웃을 포함시키지 않으려 고 노력했지만, 그들은 나를 미치게 만들어서 정신이 돌아올 때까지 기다릴 것이다.
당신은 배치 할 필요가 있는 ScrollView를 레이아웃 파일의 첫 번째 자식으로와 지금 내부에있는 LinearLayout을 넣어. 이제 Android는 사용 가능한 콘텐츠 및 기기 크기를 기준으로 스크롤 가능 여부를 결정합니다.
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">
<---------Content Here --------------->
</LinearLayout>
</ScrollView>
</LinearLayout>
linearLayout에 속성을 추가 할 수 있습니다. android:scrollbars="vertical"