1. 如在一个不满全屏的LinearLayout(设置属性为wrap_content方向上的动画)中 有三个控件 假设为 button1 button2 button3 (均同一层次)
这时对任何button设置动画不起作用或只在LinearLayout中起作用。
解决方案:获取LinearLayout布局 View 然后调用 bringtoFront() 从而占满余下全屏。详细理由如:
http://46aae4d1e2371e4aa769798941cef698.devproxy.yunshipei.com/wunghao8/article/details/42126527
2 同样在scrollView的子控件设置动画 动画只在scollView范围内起作用。
解决方案类似使其占满余下全屏 xml属性为
android:fillViewport="true"
总的代码结构如下。
ViewGroup viewGroup = (ViewGroup) tv1.getParent(); //v.setVisibility(View.GONE); int dis = viewGroup.getHeight(); pv.setVisibility(View.VISIBLE); pv.bringToFront(); ObjectAnimator.ofFloat(tv1, "translationY", dis - tv1.getTop(), 0).setDuration(50).start(); ObjectAnimator.ofFloat(tv2, "translationY", dis - tv2.getTop(), 0).setDuration(250).start(); ObjectAnimator.ofFloat(tv3, "translationY", dis - tv3.getTop(), 0).setDuration(300).start();
这里使用3.0属性动画作位移动画。pv--》scrollView、 tv1为button
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-12 17:15:43