본문 바로가기
Android

[Android] 안드로이드 : 스크롤뷰 만들기

by 꿈나무 김땡땡 2019. 11. 30.

1. 스크롤뷰란?

글자나 이미지가 들어간 뷰가 화면 영역을 벗어나면 보이지 않게 됩니다.

이때는 손가락으로 스크롤 하여 보이지 않는 부분을 보이도록 만들어주어야 합니다.

스크롤뷰는 이런 스크롤 기능을 쉽게 만들 수 있도록 해 줍니다.

스크롤 기능을 만드는 방법은 간단합니다.

이미지뷰나 텍스트뷰등의 뷰를 스크롤뷰로 감싸주면 스크롤뷰가 뷰의 영역을 계산하게 됩니다.

그리고 화면에 보이는 공간을 넘어갔을 때 자동으로 스크롤을 만들어 줍니다.

 

2. 스크롤뷰 만들기

- ScrollView를 만들고 그 안의 뷰 크기가 레이아웃 크기를 넘어가면 자동으로 스크롤이 생성

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ScrollView
        android:layout_width="409dp"
        android:layout_height="339dp"
        android:layout_marginTop="1dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="안녕하세요 김땡땡 입니다 \n안녕하세요 김땡땡 입니다 \n안녕하세요 김땡땡 입니다 \n안녕하세요 김땡땡 입니다 \n안녕하세요 김땡땡 입니다 \n안녕하세요 김땡땡 입니다 \n안녕하세요 김땡땡 입니다 \n안녕하세요 김땡땡 입니다 \n"
                android:textSize="50sp"/>
        </LinearLayout>
    </ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>

댓글