多层子View (subView) 动画 遮盖问题

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

多层子View (subView) 动画 遮盖问题的相关文章

如果写一个点击view带动画的下滑展开显示隐藏内容的控件

原理是在onMeasure中得到隐藏内容的高度,点击这个view的时候对隐藏的view startAnimation,让它的高度从0增长到onMeasure得到的这个View的measureHeight 具体这样写: public class ExpandableLayout extends LinearLayout { private Context mContext; private LinearLayout mHandleView; private RelativeLayout mCont

android 自定义view+属性动画实现充电进度条

近期项目中需要使用到一种类似手机电池充电进度的动画效果,以前没学属性动画的时候,是用图片+定时器的方式来完成的,最近一直在学习动画这一块,再加上复习一下自定义view的相关知识点,所以打算用属性动画和自定义view的方式来完成这个功能,将它开源出来,供有需要的人了解一下相关的内容. 本次实现的功能类似下面的效果: 接下来便详细解析一下如何完成这个功能,了解其中的原理,这样就能举一反三,实现其他类似的动画效果了. 详细代码请看大屏幕 https://github.com/crazyandcoder

自定义view 柱状图 动画

1 这个是朋友写的柱状图@曹瑀宏 package com.car300.component; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ValueAnimator; import android.content.Context; import android.content.res.TypedArray; import

自定义View淡出动画

//AllGestureView为自定义view AllGestureView *gestureView=[[AllGestureView alloc]init]; gestureView.frame=[UIScreen mainScreen].bounds; //先设置自定义view的透明度为0 gestureView.alpha=0; [[UIApplication sharedApplication].keyWindow addSubview:gestureView]; /****动画部分

iOS的view翻转动画实现--代码老,供参考

新建一个view-based模板工程,在ViewController文件中添加下面的代码,即可实现翻转效果: - (void)viewDidLoad { [super viewDidLoad]; //需要翻转的视图 UIView *parentView = [[UIView alloc] initWithFrame:CGRectMake(0, 150, 320, 200)]; parentView.backgroundColor = [UIColor yellowColor]; parentVi

android——为View设置动画效果

导入jar包:nineoldandroids-2.4.0(开源动画库): 实例化View view; 创建动画集: //1.创建动画集 AnimatorSet set = new AnimatorSet(); //2.添加动画 set.playTogether( ObjectAnimator.ofFloat(view, "scaleX", 2, 1.5f, 1).setDuration( mDuration), ObjectAnimator.ofFloat(view, "sc

Android 自定义View背景动画 流程简读 <2>

这一篇主要根据上一篇的大致说明,我相信如果看完这一篇,对开发自定义View将会有很大的帮助, 先介绍ColorStateList和StateListDrawable两个类: ColorStateList说明:https://developer.android.com/reference/android/content/res/ColorStateList.html StateListDrawable说明:https://developer.android.com/reference/androi

切换view的动画

代码: #import "MainViewController.h" @interface MainViewController () @end @implementation MainViewController - (void)viewDidLoad { [super viewDidLoad]; UIView *view1 = [[UIView alloc]initWithFrame:[[UIScreen mainScreen] bounds]]; view1.background

自定义view属性动画

import android.animation.AnimatorSet;import android.animation.TimeInterpolator;import android.animation.TypeEvaluator;import android.animation.ValueAnimator;import android.annotation.SuppressLint;import android.app.Activity;import android.content.Con