Android slidingmenu详细解释 滑动的优化
Android slidingmenu 详细解释 性能优化
简单介绍
Android 側滑菜单效果
(一) 效果图
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFhd3FxcQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="300" height="480" alt="">
(二) 导入项目
(三) 导包项目 与 排错
冲突了
或者 使用同样的 android-support-v4.jar
Found 2 versions of android-support-v4.jar in the dependency list,
but not all the versions are identical (check is based on SHA-1 only at this time).
All versions of the libraries must be the same at this time.
Versions found are:
Path: /Users/baozi/Documents/Dev/HuihuaWorkspace/actionbarsherlock/libs/android-support-v4.jar
Length: 271754
SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b
Path: /Users/baozi/Documents/Dev/HuihuaWorkspace/library/libs/android-support-v4.jar
Length: 758727
SHA-1: efec67655f6db90757faa37201efcee2a9ec3507
Jar mismatch! Fix your dependencies
public class SlidingFragmentActivity extends FragmentActivity
public class SlidingFragmentActivity extends SherlockFragmentActivity
(四) 设置具体解释
public class SlidingExample extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(R.string.attach);
// set the content view
setContentView(R.layout.content);
// configure the SlidingMenu
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);
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
menu.setMenu(R.layout.menu);
}
}
SlidingMenu menu = getSlidingMenu();
menu.setBehindOffset(getWindowManager().getDefaultDisplay().getWidth() /
5);
// getWindowManager().getDefaultDisplay().getWidth() / 5 表示 距离屏幕宽度 1/5
设置SlidingMenu布局
sm = getSlidingMenu();
setBehindContentView(R.layout.main_menu_frame);
sm.setSecondaryMenu(R.layout.main_menu_frame_two);
messageFragment = new MessageFragment();
profileFragment = new ProfileFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame, messageFragment).commit();
getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame_two, profileFragment).commit();
设置布局有3个方法 :
setContentView(R.layout.main); //设置slidingmenu中间的布局
setBehindContentView(R.layout.main_menu_frame);//设置左側的布局
sm.setSecondaryMenu(R.layout.main_menu_frame_two);//设置右側的布局
使用的是左右两側 我一般设置为 fragment
getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame,messageFragment).commit();
表示为替换 fragment
设置SlidingMenu滑动的拖拽效果
设置SlidingMenu推断打开状态
并 自己主动关闭或开启
设置SlidingMenu触碰屏幕的范围
menu.setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
监听主要分2种 open 和 close
open:
menu.setOnOpenedListener(onOpenListener);//监听slidingmenu打开之后调用
menu.setOnOpenListener(onOpenListener);//监听slidingmenu打开时调用
close:
两个监听器 注意看了 一个是 closed 一个是 close
menu.setOnClosedListener(listener);
menu.setOnCloseListener(listener);
menu.OnClosedListener(OnClosedListener);//监听Slidingmenu关闭后事件
menu.setFadeEnabled(true);
其他
menu.showContent();//显示内容
menu.setMenu(R.layout.menu);//设置menu的布局文件
等等
(五) 性能优化
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="17" />
硬件加速相关參考文章 : http://zuiniuwang.blog.51cto.com/3709988/721798
//┏┓ ┏┓
//┏┛┻━━━┛┻┓
//┃ ┃
//┃ ━ ┃
//┃ ┳┛ ┗┳ ┃
//┃ ┃
//┃ ┻ ┃
//┃ ┃
//┗━┓ ┏━┛
// ┃ ┃ 神兽保佑
// ┃ ┃ 代码无BUG! // ┃ ┗━━━┓
// ┃ ┣┓
// ┃ ┏┛
// ┗┓┓┏━┳┓┏┛
// ┃┫┫ ┃┫┫
// ┗┻┛ ┗┻┛
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Android slidingmenu详细解释 滑动的优化的更多相关文章
- Android:ViewPager详细解释(异步网络负载图片,有图片缓存,)并与导航点
android 应用.准则欢迎页面. 和图像旋转木马特征, 或者没有很多其他的内容显示在一个页面.以被划分成多个页面,在这一刻viewpager这是非常容易使用. 首先看下效果: 以下是一个样例.带异 ...
- Android Fragment——详细解释
1.Fragment概述 在一个Activity中. Fragment代表UI的一个部分或者一个行为.一个Activity能够结合多个Fragment对象,也能够在多个activity中使用同样Fra ...
- Android中时间戳的详细解释
Android中时间戳的详细解释: (1).定义: 时间戳就是根据当前系统时间生成的一组随机数字. (2).作用: 作为对数据唯一性的一种判断依据.避免了重复修改数据所带来的错误! (3).应用: ( ...
- SlidingMenu开源项目滑动界面的实现总结
先上图 须要准备的是先得在GitHub上下载ActionBarSherlock-master.zip,和SlidingMenu-master.zip这两个开源文件,然后解压这两个包,SlidingMe ...
- 高仿优酷Android客户端图片左右滑动(自动切换)
本例是用ViewPager去做的实现,支持自动滑动和手动滑动,不仅优酷网,实际上有很多商城和门户网站都有类似的实现: 具体思路: 1. 工程中需要添加android-support-v4.jar,才能 ...
- Android三种左右滑动效果 手势识别
Android三种左右滑动效果 手势识别(转) 手势识别 1.onCreate中添加GestureDetector mGestureDetector; //监听手势事件 mGestureDetec ...
- Linux下函数调用堆栈帧的详细解释【转】
转自:http://blog.chinaunix.net/uid-30339363-id-5116170.html 原文地址:Linux下函数调用堆栈帧的详细解释 作者:cssjtuer http:/ ...
- Android中ViewPager实现滑动条及与Fragment结合的实例教程
ViewPager类主要被用来实现可滑动的视图功能,这里我们就来共同学习Android中ViewPager实现滑动条及与Fragment结合的实例教程,需要的朋友可以参考下 自主实现滑动指示条先上一个 ...
- #pragma详细解释(一)
#pragma详细解释 #pragma详细解释(一) 2010-04-18 14:21:00| 分类: 默认分类 | 标签: |字号大中小订阅 在#Pragma是预处理指令它的作用是设定编 ...
随机推荐
- teamfoundationserver2010之使用vs2010&&vs2013创建修改签入签出提交代码等操作
好久之前就在个人的电脑上装了vs2013,看到原生支持html5和css3,前端开发还是挺不错的 而公司开发一直用着vs2010,真是羡慕嫉妒恨啊... 于是乎就有了今天的测试 使用工具 teamfo ...
- NSIS:禁止多次安装实例
原文 NSIS:禁止多次安装实例 为了防止用户重复安装软件,我们可以加入以下的判断来进行限制. 第一步:在安装脚本中,将是否已安装的标记Installed写入注册表中: 1 Section -Post ...
- socket套接字TCP API
socket套接字TCP API socket概念 socket又称"套接字",是计算机网络中进程间通信数据通道的一个端点.或称之为句柄.IP地址+port号就能够唯一确定一个so ...
- Developer Tool - 1. Text Tool and GNU/Linux Tool
Below two links list famous tool about text processing and provide a good category. And it will give ...
- 添加AD验证(域身份验证)到现有网站
每个网站几乎都会有用户登录的模块,登录就会涉及到身份验证的过程.通常的做法是在页面上有个登录的Form,然后根据用户名和密码到数据库中去进行验证. 而验证后如何在网站的各个页面维持这种认证过的状态,有 ...
- 三个水杯 (bfs)
给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子.三个水杯之间相互倒水,并且水杯没有标识,只能根据给出的水杯体积来计算.现在要求你写出一个程序,使其输出使初始状态到达目标状态的 ...
- 最少换乘(Dijkstra)
Description 欧洲某城是一个著名的旅游胜地,每年都有成千上万的人前来观光旅行.Dr. Kong决定利用暑假好好游览一番.. 年轻人旅游不怕辛苦,不怕劳累,只要费用低就行.但Dr. Kong年 ...
- android activity 后的形式 藏
activity 希望的形式 于AndroidManifest.xml 建立 theme 属性 <activity android:name="zicox.u ...
- Merge into的使用详解-你Merge了没有
Merge是一个非常有用的功能,类似于Mysql里的insert into on duplicate key. Oracle在9i引入了merge命令, 通过这个merge你能够在一个SQL语句中对一 ...
- maven_基本配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...