SlidingMenu開源項目 -- ReadMe.md翻譯


Setup - 安裝

      1.  在Eclipse里,只需要把庫引入Android library project就可以了。選擇Project->Clean動作來生成你項目所需要的二進制數據,例如R.java等。

      2.  然后,把SlidingMenu添加為你項目的引用就可以了。

      譯者注:添加項目引用比較麻煩,在這里說明下:

      a.  下載zip包。下載地址:https://github.com/jfeinstein10/SlidingMenu。網頁打開后,下載在右邊,如圖:

                  

      b.  解壓壓縮包,然后將里面的library項目導入到你項目的工作空間。導入的方法是:New->Android->Android Project from Existing Code,選擇library項目。

      c.  在你的項目上點擊右鍵,選擇Properties->Android,點擊右下方的Add Library按鈕,選擇b步驟里導入的library項目。

      注意:如果你的項目里使用了support-v4包,那么完成上面3步后,可能會報錯。這是因為slidingMenu項目里使用的support-v4包與你項目里使用的support-v4包不一致造成的。將兩個包都弄成最新的錯誤即可消失。

Setup with ActionBarSherlock

      1.  依照上面的步驟1、2步把ActionBarSherlock的library項目(項目不一定叫這個名字)導入你的工作空間。

      2.  把ActionBarSherlock添加為SlidingMenu項目的引用。

      3.  打開SlidingMenu項目的SlidingActivity Java文件,修改該類繼承SherlockActivity,而不是原來的Activity。

How to Integrate this Library into Your  Projects - 如何把Library整合進你的項目

      為了把SlidingMenu的Library整合進你的項目,你可以選擇以下方法中的任意一個:

      1.  你可以通過new SlidingMenu(Context context)的方式把你的activity包含在一個slidingmenu里,然后調用SlidingMenu.attachToActivity(Activity activity, SlidingMenu.SLIDING_WINDOW | SlidingMenu.SLIDING_CONTENT)方法。SLIDING_WINDOW會在SlidingMenu的內容部分包含ActionBar,而SLIDING_CONTENT不會。你可以參加示例項目里的AttachExample。

      2.  你可以讓你的activity繼承SlidingActivity來在activity級別上嵌入SlidingMenu。

            2.1  在你Activity的onCreate()方法里,像平常一樣調用setContentView()方法,也要調用setBehindContentView()方法,它和setContentView()方法有同樣的語法結構。setBehindContentView()方法會把view放置在SlidingMenu的后面。你也可以使用getSlidingMenu()方法,這樣你就可以自定義你鏈接的slidingMenu了。

            2.2  如果你想使用其它的庫,例如ActionBarSherlock,你只需要改變SlidingActivity的繼承關系,讓它繼承SherlockActivity就可以了,原來繼承的是Activity。

      3.  你可以在Java代碼里用編程來使用SlidingMenu,也可以在xml布局文件里使用。

            3.1  你可以把SlidingMenu當成一種其它的視圖類型,並可以把它放在一些非常棒的地方,例如ListView的行里。

            3.2  我能,一切皆有可能!^_^

Simple Example - 簡單示例

      

public class SlidingExample extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTitle(R.string.attach);
        // set the content view - 設置內容view
        setContentView(R.layout.content);
        // configure the SlidingMenu - 配置SlidingMenu
        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);
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        menu.setMenu(R.layout.menu);
    }

}

 

XML Usage - xml用法

      如果你決定要把SlidingMenu當作一個view,那你可以在xml文件里定義它:

 

<com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
    xmlns:sliding="http://schemas.android.com/apk/res-auto"
    android:id="@+id/slidingmenulayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    sliding:viewAbove="@layout/YOUR_ABOVE_VIEW"
    sliding:viewBehind="@layout/YOUR_BEHIND_BEHIND"
    sliding:touchModeAbove="margin|fullscreen"
    sliding:behindOffset="@dimen/YOUR_OFFSET"
    sliding:behindWidth="@dimen/YOUR_WIDTH"
    sliding:behindScrollScale="@dimen/YOUR_SCALE"
    sliding:shadowDrawable="@drawable/YOUR_SHADOW"
    sliding:shadowWidth="@dimen/YOUR_SHADOW_WIDTH"
    sliding:fadeEnabled="true|false"
    sliding:fadeDegree="float"
    sliding:selectorEnabled="true|false"
    sliding:selectorDrawable="@drawable/YOUR_SELECTOR"/>

 

      注意:你不能既使用behindOffset,又使用behindWidth。如果你這樣做,程序會拋出異常。

        * viewAbove : 你想在SlidingMenu上面使用的布局的引用

        * viewBehind :你想在SlidingMenu下面使用的布局的引用

        * touchModeAbove :一個enum,當上面的視圖顯示時,它指定了屏幕的哪部分是可觸摸的。margin意味着只有左邊緣。fullscreen意味着整個屏幕。默認是margin。

        * behindOffset :當后面的視圖顯示時,你想讓它上面的view顯示的像素尺寸。默認是0。

        * behindWidth : 后面視圖寬度的尺寸。默認是屏幕的寬度(相當於behindOffset=0)。

        * behindScrollScale :一個浮點值,代表了上面view滾動與下面view滾動的關系。如果被設置為0.5f,上面的view每滾動2px,后面的view滾動1px。如果被設置為1.0f,上面的view每滾動1px,后面的view也滾動1px。如果被設置為0.0f,后面的view不會滾動,也就是說它是靜態的。這是一個有趣的東東。默認是0.25f。

        * shadowDrable :指向上面視圖和后面視圖落差陰影的drawable的引用。默認沒有陰影。

        * shadowWidth :代表着陰影drawable寬度的尺寸。默認為0。

        * shadowEnable :當SlidingMenu以非fade模式打開,在關閉時是否以fade模式關閉。

        * fadeDegree :一個浮點值,代表着fade的“數量”。1.0f意味着當SlidingMenu關閉時,fade會一直存在。0.0f意味着不會有fade。

        * selectorEnable :一個布爾值,標識了在上面view的左邊是否繪制一個選擇項,用於展示后面view被選擇的元素。

        * selectorDrawable : 用於選擇項drawable的引用。注意:為了使得選擇項被畫出來,在被選擇的view上,你必須調用SlidingMenu.setSelectView(View v)方法。在ListView上,列表項極有可能不工作,因為Android會回收它們。

Caveats - 附加說明

         你的布局必須基於viewgroup,不幸的是,這種做法違背了<merge>的最優化。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM