Android开源--MenuDrawer

开源地址:https://github.com/SimonVT/android-menudrawer

简介:menudrawer是跟sliderMenu差不多的一种框架,常被应用做设置界面,以menu作为设置菜单,contentView作为详细页面的框架,如下图

API详解:

****************************左边MenuDrawer***************************************

1.设置主页

menuDrawer=MenuDrawer.attach(this,MenuDrawer.MENU_DRAG_CONTENT);

menuDrawer.setContentView(R.layout.activity_main);

2.设置Menu页/高度

menuDrawer.setMenuView(mListView);

menuDrawer.setMenuSize(getWindowManager().getDefaultDisplay().getWidth());

3.主/Menu页相互跳转

menuDrawer.toggleMenu();

4.关闭Menu页

menuDrawer.closeMenu();

5.右边标示的保存和滑动:

getView(设置Tag):  v.setTag(R.id.mdActiveViewPosition, position);

OnItemClickListener(设置当前活跃Item):menuDrawer.setActiveView(v,position);

6.滑动时(刷新指示标示)

mListView.setOnScrollListener(new OnScrollListener() {

@Override

public void onScrollStateChanged(AbsListView view, int scrollState) {

}

@Override

public void onScroll(AbsListView view, int firstVisibleItem,

int visibleItemCount, int totalItemCount) {

menuDrawer.invalidate();

}

});

7.设置拖动有效的区域

menuDrawer.setTouchMode(MenuDrawer.TOUCH_MODE_FULLSCREEN);

8.第4个参数判断能否被拖动

menuDrawer=MenuDrawer.attach(this,MenuDrawer.MENU_DRAG_CONTENT,Position.RIGHT,true);

****************************右/上下边MenuDrawer***************************************

1.设置主页(第3个参数提供了菜单的4个方向)

menuDrawer=MenuDrawer.attach(this,MenuDrawer.MENU_DRAG_CONTENT, Position.RIGHT);

2.修改指示器的位置:

1)在AndroidManifest.xml中修改样式

android:theme="@style/SampleTheme.Right"

2)在theme.xml中修改:

<style name="SampleBase" parent="@android:style/Theme.Holo.Light" />

<style name="SampleTheme.Right" parent="SampleBase">

<item name="menuDrawerStyle">@style/MenuDrawerStyle.Right</item>

</style>

3)在style.xml中修改:

<style name="MenuDrawerStyle.Right" parent="Widget.MenuDrawer">

<item name="mdActiveIndicator">@drawable/menu_arrow_right</item>

<item name="mdMenuSize">200dp</item>

</style>

****************************自定义MenuDrawer***************************************

XML:

View层必须是net.simonvt.menudrawer.TopDrawer四种中的一种定义

menu页的id必须为android:id="@id/mdMenu"

主页的id必须是android:id="@id/mdContent"

代码:设置手动模式并设置menu宽/高

menuDrawer.setTouchMode(MenuDrawer.TOUCH_MODE_FULLSCREEN);

menuDrawer.setMenuSize(50);

定义指示位置:(指示标的显示得由manifest文件里面的theme指定)menuDrawer.setActiveView(v);

****************************MenuDrawer+ViewPager***************************************

Tip:1)主页实现FragmentActivity;

2)在onPageChangeListener中onPageSelected实现:

menuDrawer.setTouchMode(position==0?MenuDrawer.TOUCH_MODE_FULLSCREEN:MenuDrawer.TOUCH_MODE_NONE);

时间: 2024-11-02 23:30:47

Android开源--MenuDrawer的相关文章

优秀的 Android 开源项目

摘要  转载http://www.trinea.cn/android/android-open-source-projects-view/,方便大家找到自己合适的资料 目录[-] 一.ListView 二.ActionBar 三.Menu 四.ViewPager .Gallery 五.GridView 六.ImageView 七.ProgressBar 八.其他 GitHub上优秀Android开源项目 3. Android开发神器 1.Xabber客户端 2.oschina客户端 3.手机安全

GitHub Top 100的Android开源库

本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择「Best Match」得到的结果,然后过滤了跟Android不相关的项目,所以排名并不具备任何官方效力,仅供参考学习,方便初学者快速了解当前一些流行的Android开源库. 1. React Native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开源框架 React Native,

GitHub 优秀的 Android 开源项目

转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包含ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar及其它如Dialog.Toast.EditText.TableView.Activity Animation等等. 一.ListView android-pulltorefresh 一个强大的拉动

【转】Android开源项目 分类 便于查看

之前转载了一个开源项目的文章,发现那些都是没有系统的总结,这里又转载一篇有系统总结的文章. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 Android开源项目第五篇——优秀个人和团体篇 Android开源项目第一篇——个性化控件(View)篇 主要介绍那些不错个性化的View,包括ListView.Ac

[转]Android开源项目分类汇总

我喜欢收集源码,如今这个时代,我觉得我们要做的不是做前人做过的事,而是学习他们的经验然后在这基础上创新做出更伟大的事. 转自https://github.com/Trinea/android-open-project Android开源项目第一篇——个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView

GitHub上史上最全的Android开源项目分类汇总

今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫的界面特效设计.个性化控件.工具库.优秀的Android开源项目.开发测试工具.优秀个人和团体等.可以这样说,每一位Andorid开发人员都能从中找到一个或多个适用自己项目的解决方案,消化吸收并加以利用,可以为自己的APP增色不少.文章最后还列出了部分国外著名Android开发者的信息,包括GitHub地址

100个Github上Android开源库

项目名称 项目简介 1. react-native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开源框架 React Native, 该框架结合了 Web 应用和 Native 应用的优势, 可以使用 JavaScript 来开发 iOS 和 Android 原生应用 2.Android-Universal-Image-Loader ImageLoader 是最早开源的 Android 图片缓存库, 强大的缓存机制, 早期被广泛

【转】Android开源项目

Android开源项目第一篇——个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.其他Android开源项目第二篇——工具库篇  包括依赖注入.图片缓存.网络相关.数据库ORM工具包.Android公共库.高版本向低版本兼容库.多媒体.事件总线.传感器.安全.其他Android开源项目第三篇——优秀项目篇  比较有意思的完整的Android项目Andr

Android 开源项目分类汇总

目前包括: Android 开源项目第一篇--个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style.其他Android 开源项目第二篇--工具库篇  包括依赖注入.图片缓存.网络请求.数据库 ORM 工具包.Andro