Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android UI之SlidingMenu側滑菜單

Android UI之SlidingMenu側滑菜單

編輯:關於Android編程

SlidingMenu側滑菜單是一種比較新的設置界面或配置界面的效果,在主界面左滑或者右滑出現設置界面效果,能方便的進行各種操作。很多優秀的應用都采用了這種界面方案,像facebook、人人網、everynote、Google+、網易新聞、知乎日報、有道雲筆記等等。

現在這種交互方式越來越流行了,雖然這種交互方式可以通過自定義組件的方式來實現,但是用第三方開源庫更簡單。地址: https://github.com/jfeinstein10/SlidingMenu.git

側滑菜單實現原理:
在一個Activity的布局中需要有兩部分,一個是菜單(menu)的布局,一個是內容(content)的布局。兩個布局橫向排列,菜單布局在左,內容布局在右。初始化的時候將菜單布局向左偏移,以至於能夠完全隱藏,這樣內容布局就會完全顯示在Activity中。然後通過監聽手指滑動事件,來改變菜單布局的左偏移距離,從而控制菜單布局的顯示和隱藏。

實例:
運行效果:
\

要想能夠實現SlidingMenu的效果,首先必須要將它作為libary導入到你的工程,目錄結構如下:
\


代碼清單:
主界面內容布局:activity_main.xml


    

側滑菜單布局:slidingmenu.xml


    



尺寸資源文件:dimens.xml


    
    16dp
    16dp

    150dp
    15dp


shadow.xml資源 這個資源文件是用來實現陰影效果的圖形,使用了漸變的繪圖效果。



    


Java源代碼文件:MainActivity.java
package com.rainsong.slidingmenudemo;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 實例化滑動菜單對象
        SlidingMenu menu = new SlidingMenu(this);
        // 設置為左滑菜單 
        menu.setMode(SlidingMenu.LEFT);
        // 設置觸摸屏幕的模式
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        // 設置滑動陰影的寬度
        menu.setShadowWidthRes(R.dimen.shadow_width);
        // 設置滑動陰影的圖像資源
        menu.setShadowDrawable(R.drawable.shadow);
        // 設置滑動菜單劃出時主頁面顯示的剩余寬度
        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        // 設置漸入漸出效果的值
        menu.setFadeDegree(0.35f);
        // 附加在Activity上
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        // 設置滑動菜單的布局
        menu.setMenu(R.layout.slidingmenu);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved