programing

선형 레이아웃을 스크롤 가능하게 하려면 어떻게 해야 합니까?

yellowcard 2023. 7. 29. 08:19
반응형

선형 레이아웃을 스크롤 가능하게 하려면 어떻게 해야 합니까?

화면에 항목이 많아서 스크롤바를 사용해야 사용자가 아래로 스크롤할 수 있습니다.그러나 스크롤이 보이지 않거나 작동하지 않습니다.스크롤 막대를 에 추가할 수 있는 방법입니다.LinearLayout?

선형 레이아웃을 다음으로 묶습니다.<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 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">


    </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에는 하위 항목이 하나만 있을 수 있으므로 해당 하위 항목은 선형 레이아웃입니다.그러면 다른 모든 레이아웃 유형이 첫 번째 선형 레이아웃에서 발생합니다.저는 아직 상대적인 레이아웃을 넣으려 하지 않았지만, 그들은 저를 미치게 하므로 제정신이 돌아올 때까지 기다리겠습니다.

다음 속성을 사용하고 선형 레이아웃 내에 포함해야 합니다.

<LinearLayout ...>
<scrollView ...> 

</scrollView>
</LinearLayout>

ScrollView를 레이아웃 파일의 첫 번째 자식으로 배치하고 이제 선형 레이아웃을 그 안에 배치해야 합니다.이제, 안드로이드는 스크롤 가능한 표시 여부를 사용 가능한 콘텐츠와 장치 크기를 기준으로 결정할 것입니다.

ScrollView는 둘 이상의 자식을 가질 수 없으므로 선형 레이아웃에 형제가 없어야 합니다.

 <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>

레이아웃을 스크롤 가능하게 만들고 싶을 때마다<ScrollView>레이아웃 또는 구성요소가 포함되어 있습니다.

linearLayout에서 속성을 추가할 수 있습니다.android:scrollbars="vertical"

언급URL : https://stackoverflow.com/questions/4055537/how-do-you-make-a-linearlayout-scrollable

반응형