这一篇没有什么新的内容 就是改写 红橙Darren视频笔记 仿酷狗侧滑效果 的侧滑的效果
1.去掉淡入淡出效果
2.加上黑色模板效果
效果:
去掉淡入淡出效果很简单 就是注释掉onScrollChanged对应代码即可
而添加灰色蒙板效果的思路也很简单 就是在主体界面添加一个覆盖整体的View 给一个背景,在slidingMenu中获取到这个view 同样在onScrollChanged调整透明度
以下只给出变化的部分

<?xml version="1.0" encoding="utf-8"?><!-- 宽度指定没有意义 KGSlidingMenu会重新赋值 -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="match_parent"android:background="#fff"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="这是主体内容"android:textSize="20sp" /><Viewandroid:id="@+id/shadowView"android:layout_width="match_parent"android:layout_height="match_parent"android:clickable="false"android:focusable="false"android:background="#55000000" />
</RelativeLayout>
    private View mShadowView;@Overrideprotected void onScrollChanged(int l, int t, int oldl, int oldt) {//想象不了alpha值如何计算 就打印log然后思考逻辑super.onScrollChanged(l, t, oldl, oldt);//在滑动onScroll的同时调用setTranslationX 让view看起来好像没有滑动 以达到抽屉效果//比如手指向左滑动 view整体向左滑动 但是view又调用了setTranslationX向右转移 看起来好像没有移动//这看起来像在一个矩形容器中心放一个球,这时容器向左移动,同时球以相同的速度向右移动,那么球在空间的绝对位置不变 看起来球好像没有移动mMenu.setTranslationX(l * 0.8f);
//
//        //根据滑动x的距离调整左侧菜单的透明度
//        float minAlpha = 0.3f;
//        float currentMenuAlpha = (mMenuWidth - l) / (float) mMenuWidth * (1 - minAlpha) + minAlpha;
//
//        //根据滑动x的距离调整右侧内容的透明度
//        float currentContentAlpha = l / (float) mMenuWidth * (1 - minAlpha) + minAlpha;
//        mMenu.setAlpha(currentMenuAlpha);
//        mContent.setAlpha(currentContentAlpha);
//
//        //根据滑动x的距离判断右侧内容缩放的大小 算法和透明度类似
//        float minScale = 0.8f;
//        float currentContentScale = l / (float) mMenuWidth * (1 - minScale) + minScale;
//        //缩放api默认以view的正中心为支点进行缩放 将缩放中心点移动到view的左侧中间位置
//        mContent.setPivotX(0);
//        mContent.setPivotY(ScreenUtil.getScreenHeight(mContent.getContext())/2);
//        mContent.setScaleX(currentContentScale);
//        mContent.setScaleY(currentContentScale);float minAlpha = 0f;float shadowAlpha = (mMenuWidth - l) / (float) mMenuWidth * (1 - minAlpha) + minAlpha;mShadowView.setAlpha(shadowAlpha);}@Overrideprotected void onFinishInflate() {super.onFinishInflate();//获取KGSlidingMenu的第零个子view 也就是LinearLayout//虽然用findViewById()更快 但是这样更能清楚的知道各个view直接的层级关系 便于学习ViewGroup container = (ViewGroup) getChildAt(0);if (container.getChildCount() != 2) {throw new RuntimeException("KGSlidingMenu子节点的子view必须是2个!!");}mShadowView = container.findViewById(R.id.shadowView);//变化的部分mShadowView.setAlpha(0f);//获得menu节点并指宽度mMenu = (ViewGroup) container.getChildAt(0);ViewGroup.LayoutParams tempLayoutParams = mMenu.getLayoutParams();tempLayoutParams.width = mMenuWidth;mMenu.setLayoutParams(tempLayoutParams);//获得content节点并指定宽度mContent = (ViewGroup) container.getChildAt(1);tempLayoutParams = mContent.getLayoutParams();tempLayoutParams.width = mMenuWidth + mMenuRightGap;// mMenuWidth + mMenuRightGap 就是屏幕的宽度mContent.setLayoutParams(tempLayoutParams);mContent.setOnClickListener(new OnClickListener() {//测试屏蔽点击事件@Overridepublic void onClick(View v) {Toast.makeText(mContent.getContext(), "主体被点击", Toast.LENGTH_SHORT).show();}});}

红橙Darren视频笔记 仿QQ侧滑效果相关推荐

  1. 红橙Darren视频笔记 仿QQ步数计数view 画笔的使用

    步骤 1.自定义属性 2.在xml中使用 3.创建自定义view文件 写好构造函数 4.在上面的Java文件中访问自定义属性 5.实现onMeasure方法 6.画外圆弧 内圆弧 文字 7.添加一点动 ...

  2. 红橙Darren视频笔记 仿酷狗侧滑效果

    效果 需求 1.思路利用ScrollView包裹两个布局+scroll实现侧滑效果 2.新建menu和主体的xml布局文件 自定义属性 并获取 4.在onFinishInflate修改布局宽度 思考o ...

  3. 红橙Darren视频笔记 仿汽车之家 可拖动列表

    最终效果演示 1.ViewDragHelper简介 1.1ViewDragHelper可以做什么基本效果 1.2实现code public class DragView extends FrameLa ...

  4. 红橙Darren视频笔记 UML图简介

    整体架构复制自红橙原视频的课堂笔记 因为他这一课没有博客,所以没有转载链接,CSDN没有转载地址是无法作为转载类型的文章发表的,暂时标记为原创 参考链接 https://blog.csdn.net/r ...

  5. 红橙Darren视频笔记 代理模式 动态代理和静态代理

    红橙Darren视频笔记 代理模式 动态代理和静态代理(Android API 25) 关于代理模式我之前有过相关的介绍: https://blog.csdn.net/u011109881/artic ...

  6. 红橙Darren视频笔记 类加载机制(API28) 自己写个热修复 查看源码网站

    第一部分 类加载机制 一个Activity是如何被Android虚拟机找到的? 在之前的文章 红橙Darren视频笔记 自定义View总集篇(https://blog.csdn.net/u011109 ...

  7. 红橙Darren视频笔记 利用阿里巴巴AndFix进行热修复

    注意 由于AndFix在2017年左右就停止更新了,在最新版本的apk上遇到很多问题,我最终也没有成功进行热修复.本节主要是学习热修复的原理 在上一篇 红橙Darren视频笔记 自己捕获异常并保存到本 ...

  8. 红橙Darren视频笔记 Behavior的工作原理源码分析

    主要coordinatorlayout的代码来自coordinatorlayout-1.0.0-sources.jar 本文从源码介绍 CoordinatorLayout 的 behavior 怎么工 ...

  9. 红橙Darren视频笔记 ViewGroup事件分发分析 基于API27

    本节目标,通过案例,先看程序运行结果,然后跟踪源码,理解为什么会有这样的输出,继而理解view group的分发机制,感觉和证明题很像呢. 考虑以下程序的运行结果: case1: public cla ...

最新文章

  1. Netty源码解析1-Buffer
  2. PKUSC2019游记
  3. Android ServiceConnection
  4. ea mysql建模_UML数据建模工具之Enterprise Architect(EA)实例-UML应用
  5. .Net 安装aliyun-oss
  6. Python中如何打印空行
  7. 求ReportMachine的OCX教程
  8. Git - git push origin master 报错的解决方法 出现[rejected] master -」 master (non-fast-forward)问题解决
  9. python决策树例题经典案例-决策树python实现小样例
  10. Qt数据库:(三)利用QSqlQuery类执行SQL语句(一)
  11. 锐捷网络普教中小学“绿色校园网”解决方案
  12. java一键换壁纸_Java 版下载必应每日壁纸并自动设置 Windows 系统桌面(改编自 C# 版)...
  13. Android测试能不能用monk,Android之monkey Test
  14. 焊接过程计算机模拟研究,焊接过程的数值模拟
  15. 小程序miniprogram自动化上传,不需要依赖微信开发者工具
  16. 学籍信息管理系统 c语言,c语言学籍信息管理系统设计
  17. 用ue4怎么制作一个物体故障闪烁的特效
  18. 《Adobe Photoshop CS5中文版经典教程(全彩版)》—第1课1.4节在Photoshop中还原操作...
  19. 电脑花屏不一定是显卡问题
  20. SAP PO上传异步接口(PO从对方中间表读取数据)

热门文章

  1. darknet框架_【通知】有三AI发布150页深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...
  2. 【机器学习】一般线性回归
  3. 整套的操作体系:三点看股法
  4. WCF技术剖析(卷1)正式出版
  5. linux crontab 怎么用,Linux crontab 如何使用
  6. RTT——IO设备管理篇·基本概念理解
  7. MySQL上线,检查数据库设计的“十条合规”
  8. 明晚直播丨一次特殊的 Oralce 硬解析性能问题的技术分享
  9. 今晚直播丨2020年全国首场12c OCM直考揭秘
  10. 如何避免成为新技术背后的“奶嘴一族”