Develop/Android

Android BottomSheetsBehavior 사용하기

dlsdnd345 2016. 3. 15. 16:26

Android BottomSheetsBehavior 사용하기


안녕하세요. 안드로이드 23 서포트 라이브러리에서 BottomSheetsBehavor 가 추가 되었습니다.

구글 지도에서 사용되고 있는 UI 인데 때에따라서 사용하면 유용하게 사용할수 있을것 같습니다.

아래 스크린샷과 같이 아래에 레이아웃이 있다가 스크롤시 올라오는 형태의 UI를

BottomSheetsBehavor 라고 하는것 같습니다.






사전준비작업


BottomSheetsBehavor 를 사용하기 위해서는 design 라이브러리를 import 해야합니다.

gradle을 통해서 design 라이브러리를 추가합니다.


1
2
3
4
5
6
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.android.support:design:23.2.0'
}
cs



코드작성


BottomSheetsBehavor 레이아웃의 코드만 명확하게 틀만 구성해보도록 하겠습니다.

레이아웃 코드 입니다. BottomSheetsBehavor 는 CordinatorLayout 안에 

layout_behavior  속성을 통해 구현 할수 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#DDDDDD">
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="400dp"
        android:background="#FFFFFF"
        app:behavior_peekHeight="144dp"
        app:behavior_hideable="false"
        app:layout_behavior="@string/bottom_sheet_behavior"
        />
    
</android.support.design.widget.CoordinatorLayout>
cs



여기서 사용되는 옵션

behavior_peekHeight : 최초 스크롤 하기전의 화면 높이

behavior_hideable : 화면을 아래로 스크롤시 레이아웃을 완전히 숨길지 설정


결과화면