位置: 编程技术 - 正文

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 解决方法

  • 个体工商户核定征收
  • 政府补助是否可以抵扣税
  • 租赁合同管理台账范本
  • 计提所得税会计处理
  • 计提企业所得税分录
  • 别人公司过账用自己的银行卡会查吗
  • 资产处置损益是营业外收入吗
  • 生鲜配送公司财务制度
  • 工会支出发票抬头是企业名称可以吗
  • 销项税额特殊销售额的处理方式
  • 不同组织的区别主要体现在哪些方面
  • 借款存入银行会计分录
  • 营改增后银行增值税如何缴纳
  • 出口不退税怎么做账
  • 电费票子丢了怎么办
  • 汽车修理费增值税税率
  • 纳税申报方式怎么修改
  • 发票金额看不清楚可以报销吗
  • 实收资本记错账如何调整账面价值
  • 个体户需不需要银行开户
  • 直接计入所有者权益的利得是
  • 公司账上亏损
  • 还有主营业务收入这个科目
  • 房地产企业城市配套费
  • 劳务派遣公司开票几个点
  • 企业贷款的利息都是固定的吗
  • 待处理财产损益期末结转到哪里
  • 什么是短期借款利率
  • 电脑右下角的弹窗怎么关
  • 属于项目的一个实例
  • composer.json和composer.lock
  • 公司内部罚款的备注怎么写劳动仲裁
  • php的运行机制与什么有关
  • php面向对象优点,缺点
  • php字符串函数大全
  • 月末增值税计算公式
  • 车间闲置固定资产怎么算
  • 同业拆入属于哪个行业
  • 高速公路电子发票抵扣进项税
  • 车辆开具发票后会计分录?
  • 财务管理公司属于什么行业类别
  • 房屋租金应缴纳多少
  • 凯恩kane
  • PHP:imageistruecolor()的用法_GD库图像处理函数
  • 科西嘉岛攻略
  • ai生成图形
  • 库存盘点差异会计分录
  • 软件开发费属于什么费用
  • 普通发票密码区出格了能用吗
  • php验证码代码怎么写
  • SQLite之Autoincrement关键字(自动递增)
  • 劳务费个税申报流程
  • 对公户单笔转账有限额吗
  • 企业股东变更流程及费用
  • 建筑劳务公司做账表格
  • 以摊余成本计量的债权投资与以公允价值计量且其变动
  • 发放福利视同销售进项税要转出吗?
  • 公司组织员工吃饭或举行活动的行为被称为什么
  • 固定资产内部转移流程
  • 公司车辆购买保险申请
  • 销售货物没开票是不是不交税
  • mysql -ne
  • windows mysql my.cnf
  • svchost一直在下载什么
  • freebsd更新命令
  • Ubuntu安装VMware tools
  • linux 多网卡配置
  • windows8如何进入bios
  • linuxvim编辑器的用法
  • jquery可以实现哪些效果
  • cacls命令怎么运用
  • html、css和jquery相结合实现简单的进度条效果实例代码
  • 深入理解新发展理念
  • javascript 代码
  • 英语流利说的简单介绍
  • 如何查询纳税信用等级证明
  • 收讫付讫是什么意思
  • 残疾人个人所得税怎么申报退税
  • 江苏税务个税查询
  • 盐城买家电到哪里买
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设