安卓開發:SliddingMenu的使用和配置
時間:2018.10.21
Adroid Studio(AS,我的是最新版2.3.1)中匯入
1.在原來的專案中加入SlidingMenu-master中的library(我把這個資料夾重新命名為SliddingMenu_library)
第一種方法:使用file->new->impot module,然後
第二種方法:把SliddingMenu_library資料夾拷到新建專案資料夾中與app資料夾同級,在settings.gradle檔案中新增 include ':SliddingMenu_library‘
2.匯入後,會發現提示錯誤,在修改SliddinMenu_library的build.gradle
(參照app中的build.gradle)修改implementation、compileSdkVersion、buildToolsVersion、minSdkVersion、targetSdkVersion
3.修改SliddinMenu_library的AndroidManifest.xml
4.因為github上的這個專案時間有點久了,所以裡面的一些東西過時了
修改SliddinMenu_library/src下的CustomViewAbove.java(以上匯入後,會出錯)
第一個,
檢視FloatMath的程式碼,可以看到其sin方法其實就是使用Math.sin()所以直接將FloatMath改成Math
第二個,android.support.v4.view.KeyEventCompat找不到
import android.support.v4.view.KeyEventCompat; 去掉
將紅框的去掉換黃框的,因為KeyEventCompat類的hasNoModifiers方法已經KeyEvent實現了,可以直接使用函式的引數event
5.以上匯入庫就完成了,現在關聯庫
第一種方法:app上右鍵->open module settings ->dependencies -> + ->modules dependency ->SliddinMenu_library -> OK -> OK
第二種方法:app/build.gradle的dependencies新增上implementation projecn(':SlidingMenu_library'),然後Sync Now執行一下更改的配置(AS修改配置在右上角會提醒Sync Now一下)
到此,就可以在我們自己的程式碼裡使用了
SlidingMenu基本使用:
繼承SlidingFramntActivity類onCreate()方法改成public(自動是protected),一個小例子
public class MainActivity extends SlidingFragmentActivity {
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //設定主頁面 setContentView(R.layout.activity_main); //設定左選單 setBehindContentView(R.layout.activity_leftmenu);
SlidingMenu slidingMenu = getSlidingMenu(); //設定右側選單 //slidingMenu.setSecondaryMenu(R.layout.activity_rightmenu);
//設定顯示的模式:左側選單+主頁SlidingMenu.LEFT;左側選單+主頁+右側選單SlidingMenu.LEFT_RIGHT;主頁+右側選單SlidingMenu.RIGHT slidingMenu.setMode(SlidingMenu.LEFT); //設定滑動模式:滑動邊緣、全屏滑動SlidingMenu.TOUCHMODE_FULLSCREEN、不可以滑動 slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); //設定主頁佔據的寬度 slidingMenu.setBehindOffset(DensityUtil.dip2px(MainActivity.this, 200))
}