標籤:開源架構 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 :點 擊 這 裡。
技術無他,唯手熟爾。 這句話 很對,無需羨慕別人, 加油!