Android, SlidingPanelLayout 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
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
Android 와 DI ( Dependency Injection ) 이야기. (2) | 2014.03.23 |
---|---|
[android] admob proguard 적용방법 (0) | 2014.03.21 |
[android] 삼성 핸드폰 계열의 버그. ( EditText & SoftInput 관련 ) (0) | 2014.03.18 |
[Android] 제대로 된 REST API 를 구축해보자. (0) | 2014.03.18 |
[android] JavaScript Bridge (0) | 2014.03.17 |
댓글