位置: 编程技术 - 正文

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

  • 发票丢失第一联盖章能用么
  • 必要收益率的取值可以是
  • 建筑业的账务处理
  • 房地产开发产品科目
  • 附加税计税依据文件
  • 资产负债表的期初余额是年初余额吗
  • 进口增值税电子税单抵扣
  • 员工出差的住宿费计入什么科目
  • 汇兑损益属于企业成本吗
  • 当年实现的利润弥补亏损会计分录
  • 营业执照年审后日期会变吗
  • 生产企业出口货物可享受免税并退税
  • 抵债资产计提折旧怎么算
  • 新公司法注册资本认缴制
  • 代扣代缴的增值税算进项税吗
  • 租赁房屋房产税
  • 偿还不起债务大约能判多少年
  • 接受投资者的无形资产
  • 单位老房子拆一补一,而外的面积开发商怎么算价格
  • 税务管理相关知识
  • 天猫企业支付宝怎么提现
  • 营改增后税金由哪几项费用组成
  • 员工报销医药费计入什么费用
  • 可转换公司债券转股会计分录
  • 电子发票字体不同
  • 会议费税前扣除最新税务规定
  • 利润表中财务费用可以为负数吗
  • 个人银行卡转公账怎么转
  • 私人公司老板
  • 新手会计入门
  • 公司向法人借款会计分录
  • 建设工程招标办
  • 发票备注栏填写要求
  • redis在php项目中的使用实例
  • php 混淆
  • 注销公司如何登报
  • 补缴增值税和滞纳税区别
  • beservice是什么进程
  • 白鹤芋好养活吗
  • 怎么安装vue环境
  • phptoken验证原理
  • React - Redux Hooks的使用细节详解
  • 公司之间借款利息需要开票吗
  • 织梦怎么调用当前栏目下的文章
  • mongodb使用案例
  • 海关缴款书能重开吗
  • 售后服务费计提政策
  • 采购货物没有发票开出去有发票有什么风险
  • mysql 虚拟机
  • 生育津贴到公司账户了多久给个人
  • 水利建设基金计费方式
  • 凭证必须用凭证盒
  • 如果收到现金做账了还叫坐支
  • 月底库存现金可以有余额吗
  • 应交税费期初数调整
  • 固定资产管理台账管理制度
  • 主营业务收入包括哪些内容
  • sql server数据库中的null(空值)
  • mac如何通过终端启动
  • WIN10系统睡眠后点不动
  • linux系统中的脚本文件一般以什么开头
  • qtzgacer.exe - qtzgacer进程是什么文件 .作用是什么
  • win7 64位纯净版图标变成了一样该怎么办?win7旗舰版图标变成一样的解决方法
  • win10系统中怎么打开IE浏览器
  • 技术故事是什么意思
  • win10系统怎么添加ip地址
  • cocos2dx4.0入门
  • Leap Motion Using Unity3D——环岛跑车篇
  • nginx react
  • androidstudio ui
  • border-radius在Android下的几个BUG
  • 阿里巴巴技术文档翻译工资
  • android界面设计规范
  • 管道运输合同需不需要缴纳印花税
  • 高端护肤品品牌排行榜
  • 开红酒增值税票怎么开
  • 从国外寄电吉他要多少钱
  • 发票明细怎么导入开票系统里
  • 城镇土地使用税优惠政策
  • 土地税是怎么缴纳按什么缴纳
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设