在自己的android工程中使用actionbarsherlock以及slidingmenu

來源:互聯網
上載者:User

標籤:android   style   blog   class   code   java   

最近在做一個東西,然後要求能相容2.3以上手機(這個要求實在是蛋疼,現在充話費送的手機系統都是4.0.3的了)加上需要的抽屜的效果和Google內建的Drawer的樣式不太一樣,無奈之下,只能自己用開源庫重新寫 ,上網搜一下,大家都推薦使用Actionbarsherlock+slidingmenu的組合,自己嘗試了一下下

 

 

首先先去下載這兩個開源項目,附上

Actionbarsherlock:http://actionbarsherlock.com/download.html

Slidingmenu:https://github.com/jfeinstein10/slidingmenu

 

 

下載下來之後解壓縮開啟

                                               

 

 我用紅線標出來的兩個檔案夾就是此次要用到的

 

 在eclipse裡面建立一個名為ActionbarSherlockLibrary的工程,在第二部的時候勾選mark this project as a library 這個選項,然後一路next,工程建好之後

 

把actionbarsherlock裡面的東西複製到 ActionbarSherlockLibrary 工程下面,全部覆蓋,會有重複檔案,注意選擇全部替換,在eclipse裡面右鍵->refresh

 

同樣,建一個名為SlidingMenuLibrary的工程,做同樣的操作,然後重新整理。

 

這一步很重要,把你的目的工程(你要使用slidingmenu的sherlockavtionbar的工程),ActionbarSherlockLibrary,SlidingMenuLibrary三個工程使用的

android-support-v4.jar必須是同一個,不然會報錯,就簡單的複製粘貼替換就可以了
 

 

在你的 SlidingMenuLibrary 工程,右鍵->properties->android 的library視圖下面選擇add添加ActionbarSherlockLibrary,

 

 然後把com.jeremyfeinstein.slidingmenu.lib.app 裡面的SlidingFragmentActivity裡面的

1 public class SlidingFragmentActivity extends FragmentActivity implements SlidingActivityBase

 替換成

1 public class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase  

 

 然後把com.jeremyfeinstein.slidingmenu.lib.app 裡面的SlidingListActivity裡面的

1 public class SlidingListActivity extends ListActivity implements SlidingActivityBase  

 替換成

1 public class SlidingListActivity extends SherlockListActivity implements SlidingActivityBase

 

 然後把com.jeremyfeinstein.slidingmenu.lib.app 裡面的SlidingPreferenceActivity裡面的

1 public class SlidingPreferenceActivity extends PreferenceActivity implements SlidingActivityBase  

 替換成

1 public class SlidingPreferenceActivity extends SherlockPreferenceActivity implements SlidingActivityBase

 

 然後,在你的目的工程右鍵->properties裡面和前面一樣的方法,匯入兩個工程,就可以,正常使用兩個開源庫了

 

在使用的時候,你要使用Actionbarsherlock 的Activity裡面整合的類改為SherlockActivity 

並且在執行個體化actionbar的時候使用方法

 

mAction = getSupportActionbar();

其他的方法是基本上一樣的,就是注意你的Activity中的Menu以及MenuItem的方法要使用

import com.actionbarsherlock.view.Menu;import com.actionbarsherlock.view.MenuItem;

 兩個包裡面的方法

 

 1 menu = new SlidingMenu(this);
 2 //執行個體化Slidingmenu
 3 menu.setMode(SlidingMenu.LEFT);
 4 //設定Slidingmenu的滑出方向,有LEFT,RIGHT,LEFT_RIGHT         menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

 5//設定Slidingmenu的有效滑出觸摸位置 6menu.setBehindWidth(getResources().getDimensionPixelSize(
 7                 R.dimen.menu_width));
 8 //設定Slidingmenu的滑出的寬度    
 9 menu.attachToActivity(Act_CommdotityList.this,
10                 SlidingMenu.SLIDING_WINDOW);
11 //吧Slidingmenu添加到Activity
12 //設定slidingmenu的滑出範圍
13 //SLIDING_WINDOW滑出地區為整個螢幕
14 //SLIDING_CONTENT為只滑出Actionbar下面的地區
15 menu.setMenu(R.layout.sliding_menu);

16 //添加Slidingmenu的布局檔案 

 

 這篇文章先到這裡,剩下的我還需要進一步研究,不過sherlockActionbar的使用方法和actionbar的方法基本相同,所以相信大家都會用

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.