位置: 编程技术 - 正文

Scroller的使用(scrollcontroller)

编辑:rootadmin

推荐整理分享Scroller的使用(scrollcontroller),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:scrollerview,scrollcontroller,scroller com,scroll on,scrollcontroller,scroller com,scrollerview,scrollcontroller,内容如对您有帮助,希望把文章链接给更多的朋友!

我也不知道怎么就稀里糊涂的看起来Android UI方面的东东了,偶尔感到无聊就看不下去了。开个博客记录一下吧,以后忘记了也方便翻一翻。

Scroller在android.widget包下,但是它本身却没有关于UI绘画的东东。个人认为其是一个辅助类,用于其他View的绘画。

Scroller的使用很简单:

1.初始化Scroller对象;

2.调用Scroller的Scroller的startScroll方法。

3.调用Scroller的computeScrollOffset方法来更新Scroller的mCurrX和mCurrY&#;。这两个&#;是对我们有用的,其标记了我们设定的位置变化轨迹。每调用一次该方法,坐标会更新一次,直到该&#;已经变化为我们指定的最终位置。当然,变化过程是在一个指定时间内完成的,默认为毫秒。

看一下代码

public class MainActivity extends Activity implements View.OnClickListener{private Scroller mScroller = null;private TextView tv = null;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mScroller = new Scroller(this);tv = new TextView(this){public void computeScroll() {if (mScroller.computeScrollOffset()) { tv.scrollTo(mScroller.getCurrX(), mScroller.getCurrY()); }tv.invalidate();}};tv.setText("click me!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2");tv.setLayoutParams(new LayoutParams(, ));tv.setSingleLine();tv.setClickable(true);tv.setOnClickListener(this);setContentView(tv);}

public void onClick(View arg0) {mScroller.startScroll(mScroller.getFinalX(), mScroller.getFinalY(), , 0);tv.invalidate();}}

Scroller的使用(scrollcontroller)

mScroller.startScroll的调用可以在任何需要的地方,就如前面所说,Scroller本身和我们需要的View的绘制没有任何直接关系,所以咋一看,不明白这个调用有什么用。其实,它就是来告诉Scroller对象开始计算一系列插&#;,形成一系列的变化轨迹。

mScroller.startScroll调用后,会紧接着激活我们要重新绘制的View(这里是textview),这个是一个关键。

在基类View中有一个空函数public void computeScroll() { },所以我们可以在任何子类中重写该方法。computeScroll()会在View的绘制和更新中被调用到,用于计算绘制的坐标。这样的话,我们就可以将Scroller一些列的变化&#;,一次通过该函数传递给View用于其重绘。

但是我们可以看到computeScroll是没有参数的,它仅仅是提供了一个接口来使我们可以在绘制前有时间做处理,而这里我么需要使用View的scrollTo方法,来将Scroller的实时轨迹传递进去,看源码可以发现,View中有protected int mScrollX和mScrollY两个成员变量,这就是scrollTo传进来的&#;保存的地方。

对于上面代码的流程,我们可以简单的理解为:

1.Scroller.startScroll开始位置轨迹的计算

2.Scroller.computeScrollOffset()用于更新运动轨迹的记录&#;

3.Scroller.getCurrX()用于获取当前的运动轨迹&#;

4.View.computeScroll()用于在View绘制前更新绘制的坐标。当然这是一个连续的动作,需要不断的调用invalidate来激活重绘,知道computeScrollOffset返回false&#;,标志着已经移动到指定的位置了。

Fused Location Provider Inthehighdayoflocation-basedmobiledealsandoffers,thequestionofdefininguser’slocationforspecificservices,collectingstatisticsorkeepingtrackofauser’smovementforspecificpurposesremainsasrelevantaseve

关于新版ADT每次创建项目都出现appcompat_v7的问题 做Android开发的朋友最近会发现,更新ADT至.6.0版本之后,创建新的安装项目,会出现appcompat_v7的内容,而且项目会报错。这到底是怎么回事呢?原来appc

Unable to execute dex: Multiple dex files define 解决方法 问题发生概述:程序编译正常,在用Eclipse调试执行时,报错Unabletoexecutedex:Multipledexfilesdefine,因为以前也没有遇到这类错误,首先便尝试万能纠错发,

标签: scrollcontroller

本文链接地址:https://www.jiuchutong.com/biancheng/376664.html 转载请保留说明!

上一篇:Android Bitmap总结(android/bitmap.h)

下一篇:Unable to execute dex: Multiple dex files define 解决方法

  • 红利税是什么时候扣的
  • 集团内部两个公司业务可以互相外包吗
  • 出口货物备案单证目录在哪里
  • 个人所得税汇算清缴情况报告
  • 员工预支薪金怎么记账
  • 计提跌价的存货卖出了
  • 出口业务退税流程资料
  • 支付境外特许权所得需要交什么税
  • 未达账项有几种情况
  • 应付债券利息调整科目理解
  • 企事业单位承包承租经营
  • 银行和保险公司归哪个部门管
  • 天猫店不开发票会被扣多少分
  • 中途建账期初余额错误怎么纠正
  • 会计速动比率计算公式
  • 金蝶k3迷你版年度结账
  • 单位购进员工餐食材怎做账务处理?
  • 购买预付卡账务处理
  • 电子承兑如何转出换成现金
  • 企业延期支付工资的法律依据
  • 企业注销时无力缴纳社保
  • 后端返回pdf文件地址,前端怎么渲染到页面
  • 弗洛雷斯岛
  • php数组可以使用哪些键名
  • 企业利润分配的通常去向包括
  • 蜜蜂皇vs
  • php7多线程支持如何
  • 详解Yii2高级版引入bootstrap.js的一个办法
  • php解析原理
  • vue0
  • 机动车组织机构代码查询
  • 前端 自动化脚本 怎么写
  • react组件调用方法
  • 固定资产怎么盘点最快
  • 工会经费怎么上缴
  • 广告费应该计入产品成本吗
  • 购买股权溢价部分怎么做账
  • 长期借款期末需结转吗
  • 哪些费用计入管理费用
  • 普通发票和增值税发票的税率
  • 使用权资产是什么意思
  • mysql error!
  • 招聘招一个人爱我图片
  • 附加税减半征收实例账务处理
  • 个体户怎么办
  • 如何把有余额的账单删除
  • 厂房出租没有开发票属于违法吗?
  • 自来水厂被收购,员工怎么办
  • 增值税普票没有发票章可以吗
  • 所得税费用科目的期末余额应直接转入
  • 长期股权投资亏损冲减顺序
  • 非流动资产包括哪些会计科目
  • 发票章摔坏了一个角,还能盖吗
  • 如何填写出售固定资产表
  • 企业享受所得税免税政策
  • 账簿的概念与分类
  • 私营企业固定资产法律制度
  • 怎么做待摊费用
  • 数据库语言主要有哪几种
  • win8怎么让我的电脑显示在桌面上
  • macbook怎么剪视频软件
  • win8的计算机在哪里
  • win7隐藏文件怎么调出来
  • cocos2dx入门
  • 搭建android开发环境时为什么要先安装jdk
  • Python scikit-learn 做线性回归的示例代码
  • opengl编程实例
  • herd什么意思
  • jquery课程总结
  • jQuery AjaxUpload 上传图片代码
  • jquery自动加载的方法
  • Android开发工具
  • 要使物体从静止状态转变为运动状态需要对这个物体什么
  • Python 使用requests模块发送GET和POST请求的实现代码
  • 机票票号怎么查航班
  • 北京密云十里堡镇河漕社区卫生服务站
  • 广东电子税务局财务报表在哪里查询
  • 居住证在粤省事怎么查询
  • 国家税务总局网址
  • 贸易公司服装
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设