【Android基礎入門〖12〗】滑動菜單SlidingMenu

來源:互聯網
上載者:User

 之上,稍作修改即可達到 炫酷的 滑動效果 :)

  具體步驟如下:NO.1:    建立一個 內容布局,用於顯示文章                        
<?xml version="1.0" encoding="utf-8"?><fragment xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/right_fragment"    android:name="com.example.myfragments.RightFragment"    android:layout_width="match_parent"    android:layout_height="match_parent"/>
NO.2:    建立一個 菜單布局,用於顯示菜單                        
<?xml version="1.0" encoding="utf-8"?><fragment xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/left_fragment"    android:name="com.example.myfragments.LeftFragment"    android:layout_width="match_parent"    android:layout_height="match_parent"/>
NO.3:    下載並安裝 SlidingMenu             https://github.com/jfeinstein10/SlidingMenu     開啟 Eclipse ,將 SlidingMenu 匯入。
                                            設定 項目 library 的屬性,勾選 Is Library 。                                    在自己的項目中引用 library 庫,我的項目為 MyFragments                                                             由於 SlidingMenu 內建了 android-support-v4.jar,所以需要將自己項目中原有的 android-support-v4.jar 刪掉。            成功匯入後的為:                        ok,至此 SlidingMenu 已經成功引入,下面就開始使用吧 :) NO.4:    使用 SlidingMenu            只需要將 原 MainActivity.java 改寫成如下代碼即可
package com.example.myfragments;import android.app.Activity;import android.os.Bundle;import android.view.Window;import android.view.WindowManager;import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;public class MainActivity extends Activity implements onItemSeletedListener{    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);           requestWindowFeature(Window.FEATURE_NO_TITLE);                   //開始設定滑動菜單        setContentView(R.layout.contentlayout);                     //設定本文的顯示布局        //-------------------------------------------------------------------------------------        //NO.1    繼承 SlidingActivity 方式        //setBehindContentView(R.layout.menulayout);                //設定左側菜單的布局        //SlidingMenu menu = getSlidingMenu();        //-------------------------------------------------------------------------------------        //NO.2    非繼承 SlidingActivity 方式        SlidingMenu menu = new SlidingMenu(this);        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);        menu.setMenu(R.layout.menulayout);                            //添加菜單        //-------------------------------------------------------------------------------------                        menu.setMode(SlidingMenu.LEFT);                                //設定菜單位置        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);        //設定菜單開啟檔案                                                                    //TOUCHMODE_FULLSCREEN     全螢幕模式                                                                    //TOUCHMODE_MARGIN         邊緣模式                                                                    //TOUCHMODE_NONE         不能通過手勢開啟                        menu.setShadowWidth(12);                                    //設定漸層效果寬度    位於菜單 與 內容 之間        menu.setShadowDrawable(R.drawable.shadow);                    //設定菜單漸層效果        menu.setFadeDegree(0.9f);                                    //設定淡入程度       當滑出菜單時,漸層效果由0.9 - 0 淡入         menu.setBehindOffset(250);                                    //設定菜單滑出後 距離螢幕右邊的長度(直接設定 dp)        //-------------------------------------------------------------------------------------        //設定結束                                                //Fragment 一些代碼增刪改        //添加        //FragmentManager fragmentmanager=getFragmentManager();        //FragmentTransaction fragmenttransaction=fragmentmanager.beginTransaction();        //LeftFragment leftfragment=new LeftFragment();        //fragmenttransaction.add(R.id.left_fragment, leftfragment);        //fragmenttransaction.commit();        //刪除        //FragmentManager fragmentmanager=getFragmentManager();        //FragmentTransaction fragmenttransaction=fragmentmanager.beginTransaction();        //Fragment leftfragment=fragmentmanager.findFragmentById(R.id.left_fragment);        //fragmenttransaction.remove(leftfragment);        //fragmenttransaction.commit();        //替換        //FragmentManager fragmentmanager=getFragmentManager();        //FragmentTransaction fragmenttransaction=fragmentmanager.beginTransaction();        //fragmenttransaction.replace(R.id.left_fragment, new LeftFragment());        //fragmenttransaction.commit();    }    @Override    public void onItemSeleted(int position) {        RightFragment rightFragment=(RightFragment) getFragmentManager().findFragmentById(R.id.right_fragment);                if(rightFragment != null)            rightFragment.update(position);    }}

        上述代碼中用到的 漸層設定為 R.drawable.shadow   該設定檔用到的顏色值見 文章  Android ListView 之 SimpleAdapter 二 (包含 item 中按鈕監聽) 中 第五節 color.xml 顏色值。
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" >    <gradient        android:endColor="@color/darkblue"        android:centerColor="@color/darkgray"        android:startColor="@color/black" /></shape>
NO.5:    滑動菜單效果展示                注意此處的漸層淡入效果                漸層效果為 由 黑色-深灰色-深藍色 漸層。                


註:轉載請註明出處 :)   畢竟代碼是一個一個敲出來的啊,O(∩_∩)O~



相關文章

聯繫我們

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