Android 側滑菜單的簡單實現(SlidingMenu)

來源:互聯網
上載者:User

標籤:android   style   blog   http   color   io   ar   使用   sp   

在我還沒有學習Android的時候就用過側滑菜單的APP,當時第一個感覺是:哇塞,這效果不錯!當然,現在自己都已經學Android了,這效果當然也要做出來啊~

SlidingMenu是一種比較新的設定介面或配置介面的效果(我覺得已經不新了耶~),在主介面左滑或者右滑出現設定介面效果,能方便的進行各種操作。很多優秀的應用都採用了這種介面方案,像facebook、人人網、everynote、Google+等等。效果如:

 

其實網上已經有很多寫SlidingMenu使用的文章了。不過,別人始終是別人的,下面就來實現它吧。

 

SlidingMenu是一個在GitHub上的一個開源庫,因此先訪問GitHub吧。

SlidingMenu地址 : https://github.com/jfeinstein10/SlidingMenu

 開啟網址後的介面如下:

 

點擊介面右下角的“Download ZIP”,即可下載該開源庫。

需要注意的是,僅僅下載該開源庫是不夠的,通過閱讀該網頁可知,SlidingMenu開源庫依賴於另一個開源庫ActionBarSherlock,因此,還需要下載開源庫ActionBarSherlock。

點擊介面中帶有超連結的“ActionBarSherlock”,跳轉到網址為:http://actionbarsherlock.com/的網頁,其介面如下:

點擊圖中紅色箭頭指向的“Zip”即可下載所需的開源庫ActionBarSherlock。

將這兩個開源庫下載下來後都是壓縮檔,因此需要解壓:

OK,準備工作到此結束。

 

開始敲代碼了……

 

現將這兩個開源庫添加到eclipse中,需要注意選擇匯入的目錄(因為解壓後的檔案有很多,並不是每一個都需要匯入)。如:

成功匯入開源庫後,從習慣上考慮,將它們的名稱分別改為“SlidingMenulibrary”和“ActionBarSherlock”。

現在建立一個Android工程,選擇系統為Android4.0,工程命名為“test_SlidingMenu”

接下來,把兩個開源庫添加到工程中。單擊項目工程名稱,點擊右鍵,選擇“Properties”。

(在紅色圈園處,添加這兩個開源庫)

此時,可能會出現如下錯誤:

不要慌張,出現這個錯誤是因為這兩個開源庫中使用的suppor-v4.jar包和剛才建立的工程中的suppor-v4.jar包版本不同導致的。

那麼,就把工程中的suppor-v4.jar包複製到這兩個開源庫中,並替換調這兩個開源庫中的suppor-v4.jar包。這樣,三個的suppor-v4.jar包都是相同的了。

 接下來剩下的就是代碼的問題了。

首先是建立一個布局檔案,名為slidingmenu.xml:(我們在側滑菜單中添加了一個按鈕)

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#ff999999"    android:orientation="vertical" >    <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu        android:id="@+id/SlidingMenu"        android:layout_width="fill_parent"        android:layout_height="fill_parent" >        <Button             android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="00000"/>    </com.jeremyfeinstein.slidingmenu.lib.SlidingMenu></LinearLayout>

另外,在dimens.xml中添加一句代碼:

<dimen name="slidingmenu_offset">200dp</dimen>

這句代碼中的200dp的作用是設定側滑菜單展開的寬度。

然後就是Activity中的代碼:

(代碼比較簡單,就直接上代碼了哈)

public class MainActivity extends Activity {    private SlidingMenu slidingmenu;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        slidingmenu = new SlidingMenu(this);        slidingmenu.setMode(SlidingMenu.LEFT);// 左邊的側滑菜單        slidingmenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//設定側滑菜單的展開寬度        slidingmenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);// 全屏觸摸有效        slidingmenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);// 附加到Activity中        slidingmenu.setMenu(R.layout.slidingmenu);//設定側滑菜單介面    }    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        switch (keyCode) {        case KeyEvent.KEYCODE_MENU:            slidingmenu.toggle(true);//設定點擊功能表按鈕產生動畫效果。            break;        default:            break;        }        return super.onKeyDown(keyCode, event);    }}

 

運行效果如:

 

 

DEMO下載:http://download.csdn.net/detail/af74776/8074319

Android 側滑菜單的簡單實現(SlidingMenu)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.