본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] SlidingPaneLayout Tutorial

by 돼지왕 왕돼지 2014. 3. 19.
반응형


 Android, SlidingPanelLayout Tutorial

 

[android] SlidingPaneLayout Tutorial


NavigationDrawer( DrawerLayout ) 가 layout 위로 overlay 되서 등장하는 메뉴라면,

SlidingPaneLayout 은 layout 을 밀면서 등장하는 메뉴라고 볼 수 있다.


SlidingPaneLayout 은 left side ( 먼저 정의된 녀석 ) 이 sliding 으로 정의되고,

right side 는 main content 로 정의된다.


NavigationDrawer 와 마찬가지로 자동으로 edge touch 를 통한 sliding 이 지원된다.


<xml> - <main.xml>

<android.support.v4.widget.SlidingPaneLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:id="@+id/sliding_pane" >

    <!-- Left side pane. (Master) -->

    <fragment android:id="@+id/left_sliding_pane"

              android:name="com.example.slidingpanelayout.LeftFragment"

              android:layout_width="200dp"

              android:layout_height="match_parent"

              android:layout_gravity="left"  />

     

    <!-- Right side page. (Slave)  -->

    <fragment android:id="@+id/main_pane"

              android:name="com.example.slidingpanelayout.MainFragment"

              android:layout_width="300dp"

              android:layout_height="match_parent"

              android:layout_gravity="right"

              android:layout_weight="1"

          />

     

</android.support.v4.widget.SlidingPaneLayout>



각 fragment 는 그냥 일반적인 fragment 를 다루듯이 사용하면 된다.







<Java>

private class PaneListener implements SlidingPaneLayout.PanelSlideListener {

 

    @Override

    public void onPanelClosed(View view) {

// ...

     }

 

    @Override

    public void onPanelOpened(View view) {

// ...

    }

 

    @Override

    public void onPanelSlide(View view, float arg1) {

// ...

    }

     

}


SlidingPaneLayout.setPanelSlideListener( PaneListener ) 를 통해 assign






반응형

댓글