
控件滑动
Qi T
这个作者很懒,什么都没留下…
展开
-
弹性滑动(一)--使用Scroller
Android的Scroller类可以实现对View内容的平滑滚动,在View类中定义的变量mScroller可以记录位置,而在调用computeScroll重绘后即可实现功能。例子:一个全屏的button,其内容(button上的文字)随手指滑动而滑动。 下面是为此自定义的buttonpackage com.example.test;import android.content.Context;原创 2016-07-28 20:08:19 · 429 阅读 · 0 评论 -
弹性滑动(二)--使用ViewHelper
使用nineoldandroids开源动画库.通过getRawX和getRawY获得手指当前坐标A(x,y).与上一次移动后的控件坐标B(mLastX,mLastY)相减得到偏移量坐标C(deltaX,deltaY),B初始化为(0,0).使用ViewHelper类将控件进行动画偏移,偏移C.将手指坐标即当前坐标A赋值给B.循环上述操作.例子:将button随手指移动而移动自定义butt原创 2016-07-29 13:47:12 · 1455 阅读 · 0 评论 -
实现控件移动(一)--使用View动画
View动画并不能改变控件的实际位置,只是将控件影像改变到了其他位置,而控件本身还在原来的位置。例如:button,View动画实现后点击button图像没有反应,点击改变前的位置有反应。解决办法:可以事先在改变后的位置放一个一模一样的控件(设置为GONE),移动后将原来的控件设置为GONE,新的控件设置为VISIABLE例子:将(0,0)处的按钮移动到(300,500)在anim文件中新建V原创 2016-07-30 15:12:47 · 408 阅读 · 0 评论 -
实现控件移动(二)--使用属性动画
属性动画可以解决View动画不能实际移动控件的问题,但是它只支持android3.0以上,若在3.0以下则需要导入开源动画库nineoldandroids。但就算3.0以下运用这个库,他实际还是使用的View动画。例子:将(0,0)处的button移动到(300,500)只需要两句话package com.example.test;import com.example.tset.R;import原创 2016-07-30 15:13:52 · 2505 阅读 · 0 评论 -
实现控件移动(三)--改变控件布局参数
改变控件的LayoutParams的属性从而是控件移动,瞬移.例子:将button从(0,0)移动到(300,500)代码很简单MarginLayoutParams p = (MarginLayoutParams) btn.getLayoutParams();p.leftMargin += 300;p.topMargin +=500;btn.requestLayout();只是改变了控件的外边原创 2016-07-30 15:14:43 · 310 阅读 · 0 评论