側滑菜單開源類庫SlidingMenu的導入及使用

SlidingMenu是開源的側滑菜單類庫,實現類似QQ的側滑菜單效果,GIT下載地址https://github.com/jfeinstein10/SlidingMenu

1、導入Android Studio 

下載完成後是一個zip的壓縮文件,將文件解壓裏面有一個library庫

新建一個項目,將library作爲module導入到項目中,可能會出現錯誤,將library的build.gradle文件按照你自己app的build.gradle配置一下,我是這樣配置的


配置完成後,編譯應該就不會報錯了,然後在自己的項目用引用,如下

或者直接在自己的項目的build.gradle文件中配置(注意是自己mudule的build.gradle文件中)添加如下代碼


到此已經將library庫引入到自己的項目,測試運行時可能會報出方法sin(float)找不到異常,雙擊定位到內容將FloatMath替換成Math就OK了,下載好的zip解壓後還有一個example,這是一個示例,也可以將其作爲一個mudule導入工程中,查看其案例,導入方法和上面一樣,不在重複,需要注意的是,這個案例中引用到了另外一個開源庫ActionBarSherlock這個庫的下載地址爲https://github.com/JakeWharton/ActionBarSherlock,(這個庫是爲了能在3.0以下使用actionBar而引入),直接下載,將其添加到example的引用就行了,方法和導入library一樣。如果不想導入也可以不用導入,在運行example時會報錯,將BaseActivity報錯的地方註釋掉,然後導入import android.view.MenuItem;import android.view.Menu;

ExampleListActivity中的繼承類SherlockPreferenceActivity替換成PreferenceActivity,導包,然後註釋掉報錯的地方,運行,將getSupportActionBar替換成getActionBar就OK了。

2、SlidingMenu的使用

(1)將自己的Activity繼承SlidingFragmentActivity

(2)添加側拉菜單SlidingMenu

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.content);
//        獲取slidingMenu
        SlidingMenu slidingMenu = getSlidingMenu();
//        設置左側拉菜單的佈局
        setBehindContentView(R.layout.menu_left);
//        設置側拉菜單的寬度   設置側拉菜單和內容也只需設置一個就行了
//        slidingMenu.setBehindWidth(10);//i:像素
        slidingMenu.setBehindWidthRes(R.dimen.menu_width);//res:dimens.xml的屬性
//         設置內容頁的顯示寬度
//         slidingMenu.setBehindOffset(i);//i:像素
//        slidingMenu.setBehindOffsetRes(R.dimen.content_width);//resid:dimens.xml的屬性

//        設置側拉的方向
//        LEFT:          左側
//        LEFT_RIGHT:    兩邊
//        RIGHT:         右側
        slidingMenu.setMode(SlidingMenu.LEFT_RIGHT);

//         設置右邊側拉菜單的佈局FloatMath
        slidingMenu.setSecondaryMenu(R.layout.menu_right);//res:右邊側拉菜單的佈局文件

//        設置側拉菜單分割線
//         設置右邊側拉菜單的分隔線樣式
        slidingMenu.setSecondaryShadowDrawable(R.drawable.shadow_right);
//        設置左側分割線樣式
        slidingMenu.setShadowDrawable(R.drawable.shadow_left);

//          設置分割線的寬度
//         slidingMenu.setShadowWidth(pixels);
        slidingMenu.setShadowWidthRes(R.dimen.slidingmenu_shadow_width);

//          設置觸摸滑動的範圍
//         TOUCHMODE_FULLSCREEN : 全屏
//         TOUCHMODE_MARGIN : 分割線
//         TOUCHMODE_NONE : 不能滑動
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    }

到此側拉菜單已經可以滑動,我們還可以添加一個按鈕圖片,點擊按鈕,彈出收回菜單

findViewById(R.id.sliding).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 slidingMenu.toggle();
             }
         });

基本功能的側拉菜單已經完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章