安卓 属性动画 今天用到的 动画效果以及过程中的经验分享
来源:互联网 发布:kmp算法匹配过程 编辑:程序博客网 时间:2024/06/09 14:15
先看看界面吧 要达成的效果就是 点击 红圈2就移动到上部 覆盖1
我原先用 安卓的 ViewAnimation 其中的 TranslateAnimation 动画,但是出现一个问题 就是当2移动到1之后 红圈的箭头就无法点击了 根据群里的朋友提示
这是因为 ViewAnimation 只能改变界面显示的位置不能改变 界面中的属性 当 2移动到 1位置的时候,点击移动上去的箭头没有效果
就是说用 ViewAnimation 动画 当 箭头移动上去之后 红圈1 是没有点击效果的
当点击红圈2 箭头原先所在的位置 才有效果,这明显不符合要求所以
为了让2在移动到1的位置时 其中的属性还能用的话 就要用 属性动画 ObjectAnimator 意外的比 原先的动画还简单 以下是代码
ObjectAnimator objectAnimator = new ObjectAnimator();
objectAnimator.ofFloat(ll_data, "TranslationY",-300)
.setDuration(600).start();
objectAnimator 就是新的动画类了 ofFloat 方法的第一个参数 只你要执行位置的控件 ,"TranslationY" 是你要执行什么动画
"TranslationY"代表了 你要执行 Y轴 位移,根据我的测试这个字符串应该是对应的 动画属性,就是说有什么属性 在这里弄成字符串 就行了
最后一个参数 -300 代表 往上移动300个DP左右吧 。 值得注意的是 当你想让 2再次移动下来的话 第三个参数写成0就行了
一般来说到这里就结束了,不过我的需求还需要 当2移动上去之后 2原先的地方能有个控件显示,
在这里有点坑了, 我原先的构思就是 把 2弄成 Freamlayout 布局 叠加两层 第一层就是现在看到的 第二层 就是位移后展示的控件,
然后在这里出现了未知的错误,此时 2是一个Freamlayout布局 里边有两层布局, 虽然我指定了不同的ID 但是 当2的第一层移动到
1之后 第二层确实显示出来了 在原先的位置,但是 在1的位置上 什么都不显示了,各种尝试都无效,包括当 2移动到1的位置 把 原先的2
动态生成一个Fragment 还是不行,
我意识到 2移动到1之后 2就变得囊括了1 与2 了, 下边空白的界面其实就是2
所以我当 2位置到1之后 我就让 2 .addview(); 谁知道这样就直接实现了,当然2位移回去的时候别忘了 removeview()否则 2会不停的加 VIEW~~
以上就是 我在做 位移动画时碰到的问题 希望能给各位网友一点参考~
- 安卓 属性动画 今天用到的 动画效果以及过程中的经验分享
- 安卓中的动画效果
- 安卓的动画效果
- 安卓 动画效果
- 安卓 动画效果
- 安卓属性动画
- 安卓-属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓 属性动画
- Android架构知识
- 多线程编程中保证线程安全(1)
- Spark生态之Spark-csv学习1之安装和简单的examples
- jvm简介
- jQuery Ajax 调用WebService实例详解
- 安卓 属性动画 今天用到的 动画效果以及过程中的经验分享
- 1005 of search
- 【一天一道LeetCode】#10. Regular Expression Matching
- hdu-4717-The Moving Points三分
- with check option使用
- UVa567 Risk(floyd)
- Mysql学习(一) windows7 mysql5.7.12 noinstall安装
- 欧弈斌--厚道(说得太好了)!
- 【图像处理】C++实现模板匹配