SlidingMenu控件的使用

SlidingMenu是github上的一個滑動菜單的開源控件,很多應用都已經使用這個控件做爲自己App的側劃菜單,如果不想自己重複的造輪子或者只是簡單的側滑的需求話,完全可以使用這個控件。那麼下面就來說說這個控件的使用。

  • 下載該控件
    從github上通過git clone命令下載這個控件。地址是https://github.com/jfeinstein10/SlidingMenu.git
  • 導入到工程中
    在AndroidStudio中新建一個工程。
    這裏寫圖片描述

    新建之後之後,點擊File->New->import Module引入我們的SlidingMenu控件,引入的時候要定位到libaray這個目錄。
    這裏寫圖片描述

    導入之後會出現一些錯誤,出現這些錯誤的原因是Slidingenu所使用的gradle版本,依賴庫等版本與我們使用的版本不一致導致的,所以需要將libarary和應用的配置同步一下。切換到project視圖下
    這裏寫圖片描述

    選擇library目錄下的build.gradle文件,將該目錄下的配置項用app的gradle中配置項目替換掉
    這裏寫圖片描述

    重新sync一下就可以消除這些錯誤。重新切換爲android視圖,給工程添加library的依賴,那麼我們就可以開始使用SlidingMenu這個控件了。
    這裏寫圖片描述

  • 控件的使用
    SlidingMenu控件的使用有三種用法:在activity中通過編碼的方法加入,通過繼承SlidingActivity的方式引入,通過XML文件配置的方式使用

    -在activity中通過編碼的方法

public class MainActivity extends AppCompatActivity {
    SlidingMenu mMenu;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //新建一個SlidingMenu
        mMenu = new SlidingMenu(this);
        //設置SlidingMenu的方向
        mMenu.setMode(SlidingMenu.LEFT);
        //設置當菜單劃出的時候,可以點擊的區域是整個屏幕
        mMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        //設置菜單距離屏幕右端的距離
        mMenu.setBehindOffset(400);
        //設置漸變效果
        mMenu.setFadeDegree(0.1f);
        //添加到當前的activity中
        mMenu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW);
        //設置menu的菜單
        mMenu.setMenu(R.layout.menu_item);
    }
}
  • 通過繼承的方式
public class CustomActivity extends SlidingActivity {
    SlidingMenu mMenu;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.activity_main);
        this.setBehindContentView(R.layout.menu_item);

        mMenu = this.getSlidingMenu();
        mMenu.setMode(SlidingMenu.LEFT);
        mMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        mMenu.setBehindOffset(200);
        mMenu.setFadeDegree(0.4f);

    }
}
  • 通過XML佈局文件的方式
<?xml version="1.0" encoding="utf-8"?>
<com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:sliding="http://schemas.android.com/apk/res-auto"
    android:id="@+id/slidingmenulayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    sliding:behindOffset="200dp"
    sliding:behindScrollScale="0.85"
    sliding:fadeDegree="0.45"
    sliding:fadeEnabled="true"
    sliding:touchModeAbove="fullscreen"
    sliding:viewAbove="@layout/activity_main"
    sliding:viewBehind="@layout/menu_item" />

屬性一一講解:

  • viewAbove:顯示在上層的view視圖,一般作爲主view的佈局文件
  • viewBehind:顯示在下層的view視圖,一般作爲menu菜單的佈局文件
  • touchModeAbove:當上層view可見的時候,屏幕的可觸摸區域,fullscreen是全屏可以點擊,margin是隻有左邊可以點擊,默認是margin
  • behindOffset:菜單view距離邊界的距離。
  • behindWidth:菜單的寬度
  • behindScrollScale:菜單項滑動的距離和主view滑動距離的比例,當爲0的時候,菜單不滑動。
  • shadowDrawable:設置陰影
  • shadowWidth:設置陰影寬度
  • fadeEnabled:漸變開關
  • fadeDegree:陰影大小,0~1
  • selectorEnabled:選擇開關
  • selectorDrawable:選擇圖片
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章