新特性SlidingPaneLayout

在上一次的android v4 support library更新中添加了一些新的特性比如:

SlidingPaneLayout`    
`DrawerLayout  

等,Google 在新版的Google+客户端中使用了不少新特性.

SlidingPaneLayout与DrawerLayout类似效果在github上也有很多优秀的开源库,如Action content view SlidingMenu...这些第三方的库质量也非常高,但是现在Google自己支持了这些特性至于哪个更好还是看各位喜好。

在xml中添加slidingPanel

  
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:id="@+id/slidingPaneLayout"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    tools:context=".MainActivity" >  
  
    <ListView  
        android:id="@+id/left_pane"  
        android:layout_width="320dp"  
        android:layout_height="match_parent"  
        android:layout_gravity="center" />  
  
    <RelativeLayout  
        android:id="@+id/right_pane"  
        android:layout_width="match_parent"  
        android:layout_height="match_parent"  
        android:background="#ff333333" >  
  
        <TextView  
            android:id="@+id/rightText"  
            android:layout_width="match_parent"  
            android:layout_height="match_parent" />  
    </RelativeLayout>  
  
</android.support.v4.widget.SlidingPaneLayout>  

在Code中去使用SlidingPanel

让SlidingPane 去实现SimplePanelSlideListener这个接口

    private class SliderListener extends SlidingPaneLayout.SimplePanelSlideListener {  
        @Override  
        public void onPanelOpened(View panel) {  
            mActionBar.onPanelOpened();  
        }  

        @Override  
        public void onPanelClosed(View panel) {  
            mActionBar.onPanelClosed();  
        }  
    }  

在上面的代码里我是配合Actionbar来使用SligingPanel

实现效果