Mobile/Android
SlingPaneLayout
out of coding
2014. 8. 6. 14:13
비슷한 기능을 가지고 있는, NavigationDrawer가 존재한다.
다른점이라고 한다면, 이녀석은 layout을 밀면서 등장한다.
SlidingPaneLayout의 먼저 지정하는 부분이 sliding으로 정의되고, 나중 부분이 main content로 정의된다.
NavigationDrawer와 마찬가지로 edge touch를 통한 sliding를 지원한다.
* xml
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rootLayout" android:layout_width="match_parent" android:layout_height="match_parent" > <fragment android:id="@+id/sliding_fragment" android:name="com.mrgamza.example.LeftFragment" android:layout_width="200dp" android:layout_height="match_parent" android:layout_gravity="left" /> <fragment android:id="@+id/main_fragment" android:name="com.mrgamza.example.MainFragment" android:layout_width="300dp" android:layout_height="match_parent" android:layout_gravity="right" android:layout_weight="1" /> </android.support.v4.widget.SlidingPaneLayout>
* Java
public class MainGameActivity extends Activity { private SlidingPaneLayout mSlidingPaneLayout; private class SliderListener implements SlidingPaneLayout.PanelSlideListener { @Override public void onPanelClosed(View view) { // ... } @Override public void onPanelOpened(View view) { // ... } @Override public void onPanelSlide(View view, float arg1) { // ... } } @Override protected final void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSlidingPaneLayout = (SlidingPaneLayout)findViewById(R.id.rootLayout); mSlidingPaneLayout.setPanelSlideListener(new SliderListener()); } }