플랫폼/안드로이드 android

안드로이드 스크롤 뷰 속성 (스크롤 바 조절) ScrollView

삐뚤어진 개발자 2020. 2. 18.
<!--수직 스크롤바의 경우-->
android:scrollbarThumbVertical="@color/colorPrimaryDark"

<!--수평 스크롤바의 경우-->
android:scrollbarThumbHorizontal="@android:color/darker_gray"

위젯이나 레이아웃이 화면에 넘칠 때 스크롤 할수 있도록 해주는 뷰 (ScrollView)

 

 


ScrollView:               수직(위아래)로 스크롤

HorizontalScrollView:  수평(좌우)으로 스크롤



 

안드로이드 개발을 할때 화면에서 많은 정보들을 모두 보여주기 위해서는 스크롤 뷰가 필수적으로 필요하다.

 

참고 사항으로 스크롤 뷰(ScrollView)안에는 한 개의 뷰(레이아웃, 위젯)만 넣을 수 있다.

예를 들어, 아래와 같으면 오류가 나서 컴파일 오류가 난다.

 

 

<ScrollView
  android:layout_width="300dp"
  android:layout_height="300dp">

    	<TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="1개"
            android:textColor="#000000" />
            
    	<TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="2개"
            android:textColor="#000000" />
            
</ScrollView>

 

 

그래서 위와 같이 사용하고 싶다면, 한 가지 레이아웃, 또는 위젯으로 묶어야한다.

예를 들어 아래와 같이 사용할 수 있다. (리니어 레이웃으로 묶었다.)

 

 

<ScrollView
  android:layout_width="300dp"
  android:layout_height="300dp">
  
	<LinearLayout
    	android:layout_width="match_parent"
		android:layout_height="match_parent"
        
    	<TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="1개"
            android:textColor="#000000" />
            
    	<TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="2개"
            android:textColor="#000000" />
            
     </LinearLayout>     
     
</ScrollView>

 

그럼이제

스크롤 뷰에 적용할 수 있는 속성들을 알아보자.

 

출처: https://itpangpang.xyz/188

1. 스크롤 뷰의 스크롤바를 계속 보고 싶다.

보통 사용자가 스크롤 할때만 스크롤바가 보이고, 스크롤 하지 않으면 자동으로 없어진다.

스크롤을 하지않아도 계속 스크롤을 보고 싶다면, 

스크롤 뷰에 아래와 같은 속성을 추가하면 된다.

android:scrollbarFadeDuration = "0"
android:scrollbarAlwaysDrawVerticalTrack = "True"

나는 무슨 문제인지 위의 속성을 추가해도 스크롤 바가 보이지 않았다. 

그렇다면 아래의 속성을 주는 방법이 있다.

 

android:scrollbarDefaultDelayBeforeFade="500000"

 

 

2. 스크롤 바의 두께, 색상을 조정하고 싶다.

두께

android:scrollbarSize="10dp"

+ 이게 안먹힐 경우가 있는데 그 경우 아래의 속성도 같이 추가해줘야한다.

스크롤 바의 색상을 선택하는 속성인데 이 속성이 없으면 스크롤 바 두께가 변하지 않았었다.

<!--수직 스크롤바의 경우-->
android:scrollbarThumbVertical="@color/colorPrimaryDark"

<!--수평 스크롤바의 경우-->
android:scrollbarThumbHorizontal="@android:color/darker_gray"

 

 

 

 

 

색상 (이미지도 넣을 수 있다.)

android:scrollbarThumbVertical="@color/colorAccent"

 

출처: https://itpangpang.xyz/188

3. 스크롤 바의 위치를 왼쪽 오른쪽, 위 아래를 선택하고 싶다.

 

수직 스크롤 뷰의 스크롤을 왼쪽, 오른쪽으로 

수평 스크롤 뷰의 스크롤을 위, 아래로 변경하는 속성이다.

android:VerticalScrollbarPosition = "left"
android:VerticalScrollbarPosition = "right"


android:HorizontalScrollbarPosition = "top"
android:HorizontalScrollbarPosition = "bottom"



 

안드로이드 스크롤 뷰 속성 (스크롤 바 조절) ScrollView

댓글