Android UI之SlidingMenu侧滑菜单
来源:互联网 发布:科大邮箱imap端口 编辑:程序博客网 时间:2024/05/21 17:38
SlidingMenu侧滑菜单是一种比较新的设置界面或配置界面的效果,在主界面左滑或者右滑出现设置界面效果,能方便的进行各种操作。很多优秀的应用都采用了这种界面方案,像facebook、人人网、everynote、Google+、网易新闻、知乎日报、有道云笔记等等。
现在这种交互方式越来越流行了,虽然这种交互方式可以通过自定义组件的方式来实现,但是用第三方开源库更简单。地址: https://github.com/jfeinstein10/SlidingMenu.git
侧滑菜单实现原理:
在一个Activity的布局中需要有两部分,一个是菜单(menu)的布局,一个是内容(content)的布局。两个布局横向排列,菜单布局在左,内容布局在右。初始化的时候将菜单布局向左偏移,以至于能够完全隐藏,这样内容布局就会完全显示在Activity中。然后通过监听手指滑动事件,来改变菜单布局的左偏移距离,从而控制菜单布局的显示和隐藏。
实例:
运行效果:
要想能够实现SlidingMenu的效果,首先必须要将它作为libary导入到你的工程,目录结构如下:
代码清单:
主界面内容布局:activity_main.xml
尺寸资源文件:dimens.xml
shadow.xml资源 这个资源文件是用来实现阴影效果的图形,使用了渐变的绘图效果。
Java源代码文件:MainActivity.java
示例源码下载地址SlidingMenuDemo
现在这种交互方式越来越流行了,虽然这种交互方式可以通过自定义组件的方式来实现,但是用第三方开源库更简单。地址: https://github.com/jfeinstein10/SlidingMenu.git
侧滑菜单实现原理:
在一个Activity的布局中需要有两部分,一个是菜单(menu)的布局,一个是内容(content)的布局。两个布局横向排列,菜单布局在左,内容布局在右。初始化的时候将菜单布局向左偏移,以至于能够完全隐藏,这样内容布局就会完全显示在Activity中。然后通过监听手指滑动事件,来改变菜单布局的左偏移距离,从而控制菜单布局的显示和隐藏。
实例:
运行效果:
要想能够实现SlidingMenu的效果,首先必须要将它作为libary导入到你的工程,目录结构如下:
代码清单:
主界面内容布局:activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /></RelativeLayout>侧滑菜单布局:slidingmenu.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Sliding Menu Layout" /></RelativeLayout>
尺寸资源文件:dimens.xml
<resources> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> <dimen name="slidingmenu_offset">150dp</dimen> <dimen name="shadow_width">15dp</dimen></resources>
shadow.xml资源 这个资源文件是用来实现阴影效果的图形,使用了渐变的绘图效果。
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <gradient android:endColor="#33000000" android:centerColor="#11000000" android:startColor="#00000000" /></shape>
Java源代码文件:MainActivity.java
package com.rainsong.slidingmenudemo;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 实例化滑动菜单对象 SlidingMenu 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); // 附加在Activity上 menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); // 设置滑动菜单的布局 menu.setMenu(R.layout.slidingmenu); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; }}
示例源码下载地址SlidingMenuDemo
5 0
- Android UI之SlidingMenu侧滑菜单
- Android UI-SlidingMenu侧滑菜单效果
- Android UI-SlidingMenu侧滑菜单效果
- Android 侧滑菜单SlidingMenu
- Android SlidingMenu 侧滑菜单
- Android- SlidingMenu侧滑菜单
- Android基础学习之SlidingMenu(侧滑菜单)
- Android之十SlidingMenu侧滑菜单的实现分析
- android之SlidingMenu简单实现侧滑菜单
- android 滑动菜单之SlidingMenu
- IOS开发UI篇--一个侧滑菜单SlidingMenu
- IOS开发UI篇--一个侧滑菜单SlidingMenu
- 实现Android侧滑菜单:SlidingMenu
- Android 侧滑菜单实现(SlidingMenu)
- Android SlidingMenu侧滑菜单使用介绍
- Android SlidingMenu侧滑菜单使用介绍
- Android SlidingMenu侧滑菜单使用
- Android Studio 使用SlidingMenu侧滑菜单
- javascript 执行顺序总结
- UIImageView截取图片
- 异步设备I/O
- MySQL优化
- 【cocos2dx学习笔记】update函数的使用
- Android UI之SlidingMenu侧滑菜单
- 《云计算架构技术与实践》连载(5)2.1.2 云计算平台架构
- PostgreSQL 快速创建空表TIPS
- linux内存管理
- 工作小结:端正态度,细心!
- Java适配器模式
- 获取当前运行的应用程序的包名及入口activity
- Android 源码解析
- 史上最简单解决ZipOutputStream压缩文件中文名乱码问题