Android UI(三)SlidingMenu实现滑动菜单(详细 官方)
生活随笔
收集整理的這篇文章主要介紹了
Android UI(三)SlidingMenu实现滑动菜单(详细 官方)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Jeff Lee blog:?? http://www.cnblogs.com/Alandre/? (泥沙磚瓦漿木匠),retain the url when reproduced ! Thanks
效果圖:
求資源到首頁上部加群即可。
一. SlidingMenu簡介
github:https://github.com/jfeinstein10/SlidingMenu
官網上面的簡介上翻譯的:
SlidingMenu是能讓開發者很容易的開發有滑動菜單App(像Google+,YouTube,Facebook)的開源android庫。只要引入這個開源庫的許可代碼,就可以很容易免費的用在你想要滑動菜單的app。如下圖所示:
?????????????????????????????????????????????????????????????????????????????????????????????????
?
二.官方小例子
public class SlidingExample extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setTitle(R.string.attach);// set the content viewsetContentView(R.layout.content);// configure the SlidingMenuSlidingMenu 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定義一個slidingMenu
<com.jeremyfeinstein.slidingmenu.lib.SlidingMenuxmlns: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"/>?
官方文檔翻譯如下:
- viewAbove - 在菜單之上的布局引用
- viewBehind - 在菜單之下的布局引用
- touchModeAbove - 指那一部分屏幕觸摸后視圖顯示
- behindOffset - 菜單顯示時,主體顯示多少(單位像素)
- behindWidth - 菜單顯示,主體顯示的寬。默認全屏
- behindScrollScale - 菜單顯示的滾動設置
- shadowDrawable - 滾動陰影設置
- shadowWidth - 滾動陰影的寬度
- fadeEnabled - 滑動時菜單的是否漸變
- fadeDegree - 滑動時的漸變程度
?
三.實現滑動菜單
主要結構:MainAct為主入口,然后各個fragment實現各自內容動作。
MainAct.java
public class MainAct extends FragmentActivity {private SlidingMenu menu;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.slidingmenu_main);menu = new SlidingMenu(this);menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);menu.setShadowWidthRes(R.dimen.slidingmenu_shadow_width);menu.setShadowDrawable(R.drawable.slidingmenu_shadow);menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);menu.setFadeDegree(0.35f);menu.setBehindOffset(dm.widthPixels*50/100);menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);menu.setMode(SlidingMenu.LEFT_RIGHT);//這里模式設置為左右都有菜單,RIGHT顯示右菜單,LEFT顯示左菜單,LEFT_RIGH顯示左右菜單menu.setContent(R.layout.slidingmenu_content);menu.setMenu(R.layout.slidingmenu_menu);menu.setSecondaryMenu(R.layout.slidingmenu_menu_2);menu.setSecondaryShadowDrawable(R.drawable.slidingmenu_shadow_2);getSupportFragmentManager().beginTransaction().replace(R.id.slidingmenu_content, new MainFragment(menu)).commit();//設置主頁面內容getSupportFragmentManager().beginTransaction().replace(R.id.slidingmenu_menu, new MainLeftFragment()).commit();//設置左菜單內容getSupportFragmentManager().beginTransaction().replace(R.id.slidingmenu_menu_2, new MainRightFragment(menu)).commit();//設置右菜單內容} }?
總結:用則簡單則難
轉載于:https://www.cnblogs.com/Alandre/p/4112030.html
總結
以上是生活随笔為你收集整理的Android UI(三)SlidingMenu实现滑动菜单(详细 官方)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces 474.D Flo
- 下一篇: 【大数据算法】蓄水池抽样算法