Slidingmenu 仿 網易 360手機小幫手 架構 直接拿來用

來源:互聯網
上載者:User

標籤:開源架構   github   360手機小幫手   viewpager   網易   

天氣太熱了,上班也沒什麼精神頭。索性  整理下項目中用到的 架構 抽出來,方便下次直接用吧。

大家應該都知道 slidingmenu的。就是github 上的一個開源架構  可以實現 左右滑動, 時下 好多app都用到了,比如 網易新聞 ,360手機小幫手, 糗事百科,ireader. 應該算是很火的一個架構了。

no exception  我們公司的項目也用到了。 廢話有點多。下面直奔主題吧


首先介紹下 架構的結構

先上幾張圖,不會做gif 。。

  

再看下包結構

主要實現側滑的功能代碼 在 slidingmenu 包內。 sliding 包中主要放的就是 左右兩個 fragment  就是上面的第一個和最後一個的 介面。

ui 中放的就是 主介面的可以側滑的viewpager 中加入的三個fragment 和 左側菜單中的 直播大廳 熱門排行榜   關注,三個fragment 。 


那怎麼使用呢。 首先要 mainacitivity 的布局中引入 slidingmenu  就是 引用自訂控制項。完整的路徑名。

然後在mainacitivity 中給slidingmenu 添加一二級介面。 和setcontent. 

代碼如下:

mSlidingMenu = (SlidingMenu) findViewById(R.id.slidingmenu);mSlidingMenu.setMenu(R.layout.sliding_left_frame); // 設定左邊側if (getFragmentByTag(LeftFragment.class) == null) {getSupportFragmentManager().beginTransaction().add(R.id.left_frame, new LeftFragment(), LeftFragment.class.getName()).commit();}mSlidingMenu.setContent(R.layout.sliding_center_frame); // 設定中間mSlidingMenu.setSecondaryMenu(R.layout.sliding_right_frame); // 設定右邊if (getFragmentByTag(RightFragment.class) == null) {getSupportFragmentManager().beginTransaction().add(R.id.right_frame, new RightFragment(), RightFragment.class.getName()).commit();}if (mCurFragment != null) {postSwitchFragment();}mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); // 設定觸摸模式。 這是邊緣滑動,也可以改成fullscreen。


剩餘的代碼比較簡單。 有需要的可以看下載下來看下。 

附上  demo :點       擊       這     裡。

技術無他,唯手熟爾。 這句話 很對,無需羨慕別人, 加油!

聯繫我們

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