android 上实现 控件平滑移动(smooth move) 研究

本文探讨了在Android平台上实现控件平滑移动的方法,主要利用FrameLayout和Animation框架。通过在FrameLayout中添加两个LinearLayout,结合ImageView和Translation Animation,实现了平滑移动效果。Android 2.2之前的动画支持包括View Animation和帧动画,而3.0后引入了Property Animation。平滑移动的关键在于使用Translate Animation改变ImageView的坐标。为了处理焦点和点击事件,需要采用监听接口来间接控制底层的控件。
摘要由CSDN通过智能技术生成


关于控件的平滑移动在国外著名网站stack overflow上有很多人问,最终也没人给个确切的回答。

在平板及基于android的智能电视上控件的平滑移动效果对用户的体验至关重要,最近研究了一下。


android 本身并没有对控件平滑移动的支持(可能有,我还不知道),实现控件的平滑移动需借助其动画框架(animation)及经过 扩展的framelayout。

首先看framelayout控件特点:

framelayout 是android布局中自检单的一个,是一个view的容器,只是简单的把每个view放在左上角,每当新添加一个view到framelayout容器时会遮挡先前添加的view。


这就给我们实现平滑移动提供了基础,我们可以在framelayout里添加两个子容器 linearlayout,一个linearlayout负责管理要添加的子控件,另一个linearlayout管理一个imageView控件,滑动时通过在此imageview上附着动画(animation)以达到平滑移动的效果。


在看android上的动画支持,android 2.2之前动画支持两种,view 动画和 帧动画,在包 android.view.animation中实现,android 3.0之后动画框架又添加了重量级动画框架property animation,在包android.animation中实现,代码位置在frmework/base/core/java/android/animation目录,对于控件平滑移动,用view动画中的一种即可

view动画 有四种,其中 tran

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值