閱讀562 返回首頁    go 阿裏雲 go 技術社區[雲棲]


開源項目SlideMenu使用詳解

以前搞過一個滑動菜單,是自己重寫發view,實現了基本功能可以滑動顯示,後來看了下SlideMenu的使用,真是非常強大,不但可是簡單的設置實現兩側滑動菜單,還可以設置菜單的陰影、漸變色、劃動模式等,所以還是老實點直接用現成的吧,當然有時間的話還要看先SlideMenu的源碼。這裏先詳細分析下SlideMenu的使用:

準備工作:
1. SlidingMenu 下載地址: 
https://github.com/jfeinstein10/SlidingMenu
2.下載好後,導入到我們eclipse(也可以新建一個項目,將SlidingMenu項目拷進去)
3. 需要將SlidingMenu設置成is libray.因為我們需要在我們的demo中導入SlidingMenu。

接下來看看SlideMenu怎麼使用:

首先,Activity要繼承自SlidingFragmentActivity,而SlidingFragmentActivity又繼承自SherlockFragmentActivity並實現SlidingActivityBase接口提供相應方法,隻要我們的Activity繼承自SlidingFragmentActivity就行了。

SlideMenu是使用分析:

1、初始化Slidemenu:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. SlidingMenu sm = getSlidingMenu();  

2、設置SlideMenu陰影:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. sm.setShadowWidthRes(R.dimen.shadow_width);//陰影寬度     
  2.  sm.setShadowDrawable(R.drawable.shadow);//陰影Drawable  
[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. sm..setShadowDrawable(true)//是否有陰影  

3、設置SlideMenu來開後離邊框距離:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);//拉開後離邊框距離     

4、設置漸變:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. sm.setFadeEnabled(true);/是否有漸變    
  2. sm.setFadeDegree(0.35f);//設置漸變比率  

5、設置SlideMenu布局:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. setBehindContentView(R.layout.fr_slide_menu_right_frame);  
  2.   
  3. getSupportFragmentManager().beginTransaction()  
  4.         .replace(R.id.fr_slide_menu_right_frame, new AddChannelFragment()).commit();  

.FragmentTransaction類主要用於管理Fragment,有添加,替換,刪除等操作。尤其是beginTransaction()與commit()方法與SQL中的事務有點類似。

6、設置模式:

sm.setMode(SlidingMenu.RIGHT);//菜單右邊顯示

SlidingMenu.LEFT 菜單左邊顯示;SlidingMenu.LEFT_RIGHT菜單兩側顯示。

注意:菜單兩側顯示的時候,既然顯示兩個就應該設置兩個布局,需要設置第二個布局:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. // 設置左右側都有  
  2. sm.setMode(SlidingMenu.LEFT_RIGHT);  
  3. // 此時要再次添加布局菜單,上一個為左側,這個為右側  
  4. sm.setSecondaryMenu(R.layout.menu_frame_two);  
  5. getSupportFragmentManager()  
  6.         .beginTransaction()  
  7.         .replace(R.id.menu_frame_two,  
  8.            new SampleListFragment()).commit();  
  9. sm.setSecondaryShadowDrawable(R.drawable.shadowright);  

7、設置劃動模式:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//全屏滑動  

SlidingMenu.setTouchModeAbove().其中一共包含三中手勢模式:
TOUCHMODE_FULLSCREEN 全屏模式,在正文布局中通過手勢也可以打開SlidingMenu
TOUCHMODE_MARGIN 邊緣模式,在正文布局的邊緣處通過手勢可以找開SlidingMenu
TOUCHMODE_NONE 自然是不能通過手勢打開SlidingMenu了

8、設置SldingMenu自動判斷當前是打開還是關閉:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. toggle();  

9、設置縮放比例:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. // 放縮比例  
  2. getSlidingMenu().setBehindScrollScale((float)0.5);  


是不是很簡單,隻要設置下屬性就能實現菜單效果,當然要自己添加自己的布局文件。


轉載自:https://blog.csdn.net/xiangxue336/article/details/20382835

最後更新:2017-04-03 05:39:36

  上一篇:go 九度題目1109:連通圖
  下一篇:go poj 3264 Balanced Lineup【RMQ】