-
内容区域由于按中心方向开始变小,所以会导致向右移动时,左边到屏幕右方的距离看起来也变小了,如图所示 解决方法:为内容区域的缩放设置缩放中心点为 左侧查看全部
-
已完成部分和QQ的区别如截图所示:查看全部
-
区别实现查看全部
-
目前实现的菜单和QQ侧滑菜单的区别如截图查看全部
-
-------------------------------------------------- 0px mMenuWidth menu默认从左向右的偏移量, 即当偏移量为整体宽度时,它是完全隐藏的 100px mMenuWidth-100 拉出来100像素时,让其偏移量变为mMenuWidth-100 200px mMenuWidth-200 拉出来200像素时,让其偏移量变为mMenuWidth-200 属性动画: TranslationX getScrollX: mMenuWidth ~ 0 此值和TranslationX(即以上提到的偏移量)变化是一致的 调用动画时机 ACTION_MOVE查看全部
-
自定义属性注意事项: 见截图查看全部
-
1)将dp转化成像素值px 2)获取屏幕宽度 3)onMeasure 决定自己和自己内部子View的宽和高 计算出自己内部子View的宽度如下: a) menu宽度为屏幕宽度-menu和屏幕右侧的距离 b) content宽度为屏幕宽度 注意onMeasure不要多次调用 onMeasure中由于LinearLayout中只有一个Menu和一个content,而这两个的宽度已经显示指定,所以view自己的宽度就相当于是这两个宽度之和也被指定了,因此不需要再次设定自己的宽 4)onLayout 通过设置偏移量,将menu隐藏 this.scrollTo(mMenuWidth, 0); //scrollTo是瞬间隐藏,没有动画效果 5)onTouchEvent getScrollX(); //隐藏在左边的宽度查看全部
-
自定义ViewGroup的主要步骤查看全部
-
未使用自定义属性时,调用两个参数的构造方法查看全部
-
一般的侧滑的实现 使用ViewGroup,左边Menu+ 右边Content 监听onTouchEvent 在Move过程中:不断改变ViewGroup的leftMargin,造成不断挤出来的感觉 UP:根据菜单的宽度,决定将其隐藏或者显示; 具有动画效果 1)Scrolller实现动画效果 2)LeftMargin + Thread 还要注意处理滑动冲突 今天使用HorizontalScrollView 初始情况 ScollView中使用LinearLayout:Menu + Content,设置一个偏移量,将Menu进行隐藏在左边 这样省去了Move过程的处理,也省去了滑动冲突的处理查看全部
-
1-3节 处理逻辑小改一下,要定义MENU是否显示的布尔量,和张同学类似 public boolean onTouchEvent(MotionEvent ev) { int action = ev.getAction(); switch (action) { case MotionEvent.ACTION_UP: int scrollX = getScrollX(); if (!isMenuShowed) { //菜单未显示 if (scrollX <= mMenuWidth / 5 * 4) { this.smoothScrollTo(0, 0); isMenuShowed = true; } else { //弹回 this.smoothScrollTo(mMenuWidth, 0); } return true; }else{ //==if (isMenuShowed) 菜单已经显示 if (scrollX >= mMenuWidth / 5 * 1) { //将菜单进行隐藏 this.smoothScrollTo(mMenuWidth, 0); isMenuShowed = false; } else { //弹回 this.smoothScrollTo(0, 0); } return true; } } //其他动作的处理 return super.onTouchEvent(ev); }查看全部
-
cehua查看全部
-
隐藏包名 requestWindowFeature(Window.FEATURE_NO_TITLE);查看全部
-
一般侧滑实现思路 (而本次使用HorizonntailScrollView完全实现了滚动冲突的处理,在里面可以放置ListView)查看全部
-
侧滑的实现查看全部
举报
0/150
提交
取消