1、此效果使用了csdn大神孙国威的代码案例在此感谢附上参考博客地址:

http://blog.csdn.net/manoel/article/details/39013095/#plain

2、slidingmenu库不需要修改,弄下来可以直接使用

3、demo中的代码是支持单侧的,我仅仅给加了个双侧支持,当然这个只是双侧仅仅是效果上达到了,还有不完善的地方,就是两侧侧滑会有部分主界面布局实际存在但是看不到的情况,这个大家使用的时候会发现,一般稍微粗心点可能看不到。

4、当主界面布局与未隐藏的slidingmenu主布局同时存在时候,右侧侧滑会有一个黑线闪动,目前不知道怎样解决

附上效果图

主界面布局全部代码:(这里两侧的fragment我就不贴了,弄个空白视图就可以,布局也是比较简单的,有点基础就能写)

package com.sunguowei.residemenu;

import android.graphics.Canvas;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView; import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.CanvasTransformer;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
import com.sunguowei.callback.CallBack; public class MainActivity extends SlidingFragmentActivity implements OnClickListener,CallBack/*implements OnGestureListener*/ {
private static final String TAG="MainActivity";
private Fragment mContent;
SlidingMenu sm = null;
private CanvasTransformer mTransformer;
private CanvasTransformer mTransformer2; private Button button_main_open_left;
private Button button_main_open_right;
private TextView main_one;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.layout_content); button_main_open_left = (Button) findViewById(R.id.button_main_open_left);
button_main_open_right = (Button) findViewById(R.id.button_main_open_right);
main_one = (TextView) findViewById(R.id.main_one);
button_main_open_left.setOnClickListener(this);
button_main_open_right.setOnClickListener(this);
setBehindContentView(R.layout.menu_frame);
getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame, new MenuFragment()).commit();
//主界面
mTransformer = new CanvasTransformer() { @Override
public void transformCanvas(Canvas canvas, float percentOpen) {
// float scale = (float) (percentOpen*0.25 + 0.75);
float scale = (float) (1 - percentOpen * 0.25);
canvas.scale(scale, scale, canvas.getWidth()/2, canvas.getHeight()/2);
}
};
//背景层动画
mTransformer2 = new CanvasTransformer() { @Override
public void transformCanvas(Canvas canvas, float percentOpen) {
float scale = (float) (percentOpen * 0.25 + 0.75);
canvas.scale(scale, scale, 0,
canvas.getHeight() / 2);
}
};
sm = getSlidingMenu();
sm.setSecondaryMenu(R.layout.menu_frame2);
getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame2, new MenuFragment2()).commit();
sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
sm.setFadeEnabled(false);
sm.setBehindScrollScale(0.25f);
sm.setFadeDegree(0.75f);
sm.setMode(SlidingMenu.LEFT_RIGHT);
// sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
sm.setBackgroundImage(R.drawable.img_frame_background);
sm.setBehindWidth((int)(getWindowManager().getDefaultDisplay().getWidth() / 1.35));
sm.setBehindCanvasTransformer(mTransformer2);
sm.setAboveCanvasTransformer(mTransformer); }
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button_main_open_left:
setToggle();
break;
case R.id.button_main_open_right:
sm.showSecondaryMenu();
break; default:
break;
}
} public void setToggle(){
toggle();
}
@Override
public void SuccessText(String text) {
// TODO Auto-generated method stub
Log.i(TAG, "==-->text:="+text);
main_one.setText(text);
} }

仿QQ5.0以上新版本侧滑效果的更多相关文章

  1. 仿QQ5.0侧滑菜单

    一.概述 侧滑菜单现在已经非常流行了,目前大概有这么几种:最普通的侧滑,抽屉侧滑,QQ侧滑 注:本文来自慕课网 二.最普通的侧滑 先上图 代码如下: public class MainActivity ...

  2. 【转】仿QQ5.0侧滑菜单ResideMenu

    本文由孙国威 原创.如需转载,请注明出处! 原文:http://blog.csdn.net/manoel/article/details/39013095 为了后续对这个项目进行优化,比如透明度动画. ...

  3. 安卓开发笔记——关于开源项目SlidingMenu的使用介绍(仿QQ5.0侧滑菜单)

    记得去年年末的时候写过这个侧滑效果,当时是利用自定义HorizontalScrollView来实现的,效果如下: 有兴趣的朋友可以看看这篇文件<安卓开发笔记——自定义HorizontalScro ...

  4. Android 自定义View修炼-仿QQ5.0 的侧滑菜单效果的实现

    有一段时间没有写博客了,最近比较忙,没什么时间写,刚好今天有点时间, 我就分享下,侧滑菜单的实现原理,一般android侧滑的实现原理和步骤如下:(源码下载在下面最后给出哈) 1.使用ViewGrou ...

  5. QQ5.0左侧滑动显示效果

    前三篇为大家介绍了如何实现简单的类QQ5.0左侧的侧滑效果,本篇我将带领大家一起探讨一下如何真正实现QQ5.0左侧的侧滑效果,对于本篇的内容与之前的三篇关联性很强,如果前三篇你已经完全掌握,对于这一篇 ...

  6. Android DrawerLayout 高仿QQ5.2双向侧滑菜单

    1.概述 之前写了一个Android 高仿 QQ5.0 侧滑菜单效果 自定义控件来袭 ,恰逢QQ5.2又加了一个右侧菜单,刚好看了下DrawerLayout,一方面官方的东西,我都比较感兴趣:另一方面 ...

  7. 使用DrawerLayout实现QQ5.0侧拉菜单效果

    在上一篇文章中,我们介绍了怎么使用DrawerLayout来实现一个简单的侧拉菜单(使用DrawerLayout实现侧拉菜单),也就是我们常说的抽屉效果,GitHub上类似效果的实现方式非常多,实现出 ...

  8. 安卓开发笔记——自定义HorizontalScrollView控件(实现QQ5.0侧滑效果)

    对于滑动菜单栏SlidingMenu,大家应该都不陌生,在市场上的一些APP应用里经常可以见到,比如人人网,FaceBook等. 前段时间QQ5.0版本出来后也采用了这种设计风格:(下面是效果图) 之 ...

  9. Android使用DrawerLayout仿qq6.6版本侧滑效果

      一讲到侧滑菜单,我相信大家都会想到一个开源控件SlidingMenu,在google还没有出来DrawerLayout的时候几乎都是使用Slidingmenu来实现侧滑效果,可以说是效果很不错,自 ...

随机推荐

  1. 史上最全maven pom.xml详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  2. 二、linux文件系统之linux启动

    Linux组成 kernel  shell  文件系统  application(应用程序) 标准库函数 内核源码位置: /usr/src   /boot/vmlinuz*(内核压缩文件,启动要加载) ...

  3. JS~js里实现队列与堆栈

    在面向对象的程序设计里,一般都提供了实现队列(queue)和堆栈(stack)的方法,而对于JS来说,我们可以实现数组的相关操作,来实现队列和堆栈的功能,看下面的相关介绍. 一 看一下它们的性质,这种 ...

  4. Spring 3 来创建 RESTful Web Services

    Spring 3 创建 RESTful Web Services 在 Java™ 中,您可以使用以下几种方法来创建 RESTful Web Service:使用 JSR 311(311)及其参考实现 ...

  5. XCode5/Apple LLVM 5.0下使用boost的方法

    Because Apple changes the compiler to llvm only in XCode5, so there are some compatible problems wit ...

  6. Linux GRUB 2及修改默认启动项

    The GRUB 2 boot loader makes sure that you can boot Linux. GRUB 2 is installed in the boot sector of ...

  7. css书写步骤

    CSS整体书写步骤1:CSS RESET 重置2:CSS GLABAL 全局属性3: CSS分模块属性,(先写默认样式和设计图相差最大的部分,先大块布局,后细致调整) <style>/*C ...

  8. 表被占用住,提示资源正忙的处理方式。kill掉表的操作。

     1)查找死锁的进程:  SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,l.ORACLE_USERNAME,l.OS_USER_NAME,l ...

  9. Linux升级C基本运行库CLIBC

    在你准备升级GLIBC库之前,你要好好思考一下, 你真的要升级GLIBC么? 你知道你自己在做什么么? glibc是gnu发布的libc库,即c运行库.glibc是linux系统中最底层的api,几乎 ...

  10. Cacti添加IO模板并监控磁盘IO

    1.下载Cacti_Net-SNMP_DevIO_v3.1.zip 下载Cacti_Net-SNMP_DevIO_v3.1.zip,解压并上传net-snmp_devio.xml到/resource/ ...