一。關於這個控件,其實我們現在很多app都在用,最簡單的,你打開QQ,當看資料卡的時候,首先要側拉一下,那個就是SlidingMenu
這幾天查了很多資料,各種方法都試了,但是一直都沒有成功,最后在一個角落發現了一篇好文,成功了,推薦給大家,同時也自己寫一下
原文是:http://www.ithao123.cn/content-8690810.html
我們正常視圖是這個樣子的
slingdingMenu的樣式就像下面這個圖
二,說了樣式,下面說一下導入吧
1,首先,下載SlidingMenu http://www.ithao123.cn/content-8690810.html
這是無數先輩們一步步完善的產物,在github上共享的
2,新建一個project,
把SlidingMenu-master中的library文件夾(我把這個文件夾重命名為sliding_menu)拷到新建項目文件夾中與app文件夾同級
可以直接在電腦上找到文件的位置,然后拷貝
也可以按照下面的方法,將Android切換成Project然后復制進去就ok了
3.在settings.gradle文件中添加 include ":sliding_menu'
4.在build.gradle(Module:app)中添加依賴 compile project(':sliding_menu')
右鍵app,Module Setting,點擊選定那個,然后將以來加進去
5,第4步結束后我這邊就提示有錯誤了,修改sliding_menu的build.gradle中的一些參數,如compileSdkVerdion、buildToolsVersion與你AS相匹配(可參照app的build.gradle中的設置)
將下面這些參數調整一致
6,Build/Make Project(到這步SlidingMenu就已經添加成功了)
7,添加代碼,然后運行就ok了
控制台代碼:

1 public class MainActivity extends AppCompatActivity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_main); 7 // configure the SlidingMenu 8 SlidingMenu menu = new SlidingMenu(this); 9 menu.setMode(SlidingMenu.LEFT); 10 // 設置觸摸屏幕的模式 11 menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 12 menu.setShadowWidthRes(R.dimen.shadow_width); 13 // menu.setShadowDrawable(R.drawable.shadow); 14 15 // 設置滑動菜單視圖的寬度 16 menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); 17 // 設置漸入漸出效果的值 18 menu.setFadeDegree(0.35f); 19 /** 20 * SLIDING_WINDOW will include the Title/ActionBar in the content 21 * section of the SlidingMenu, while SLIDING_CONTENT does not. 22 */ 23 menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); 24 //為側滑菜單設置布局 25 menu.setMenu(R.layout.layout_left_menu); 26 27 } 28 }
layout布局文件:
activity_main不做修改也可以,我們只是為了實現一下布局樣式
layout_left_menu我們只放置一張安卓小圖標

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" app:srcCompat="@mipmap/ic_launcher" android:id="@+id/imageView" /> </LinearLayout>
不要在配置文件dimens.xml中添加
<dimen name="slidingmenu_offset">60dp</dimen> <dimen name="shadow_width">15dp</dimen>
8,現在我們就可以運行app了,鼠標放在頁面最左邊向右邊拉,就可以呈現出效果拉