android动画回到原位,使用动画隐藏view后,原来的位置空白
public class MainActivity extends AppCompatActivity {
ImageView view1,view2;//linearLayout当中竖直排列的两个imageView
AlphaAnimation animationOut,animationIn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view1 = (ImageView) findViewById(R.id.view_1);
view2 = (ImageView) findViewById(R.id.view_2);
initAnimation();
view1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ObjectAnimator.ofInt(view2,"top",view2.getTop()-view1.getHeight()).setDuration(500).start();
ObjectAnimator.ofInt(view2,"bottom",view2.getBottom()-view1.getHeight()).setDuration(500).start();
view1.startAnimation(animationOut);
}
});
view2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(view1.getVisibility() == View.GONE){
ObjectAnimator.ofInt(view2,"top",view2.getTop()+view1.getHeight()).setDuration(500).start();
ObjectAnimator.ofInt(view2,"bottom",view2.getBottom()+view1.getHeight()).setDuration(500).start();
view1.startAnimation(animationIn);
}
}
});
}
private void setClickable(boolean which){
view1.setClickable(which);
view2.setClickable(which);
}
private void initAnimation(){
animationOut = new AlphaAnimation(1f,0f);
animationOut.setDuration(500);
animationOut.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
setClickable(false);
}
@Override
public void onAnimationEnd(Animation animation) {
view1.setVisibility(View.GONE);
setClickable(true);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
//
animationIn = new AlphaAnimation(0f,1f);
animationIn.setDuration(500);
animationIn.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
setClickable(false);
}
@Override
public void onAnimationEnd(Animation animation) {
view1.setVisibility(View.VISIBLE);
setClickable(true);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
}
顺便为需要隐藏的view加了个alpha效果,这样看起来自然一些。
android动画回到原位,使用动画隐藏view后,原来的位置空白相关推荐
- Android高阶转场动画-ShareElement完全攻略
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 看完本文你能学到什么: 1.ShareElement是什么以及基本用法 2.理解ShareElement是如何运作的 3.掌握Sha ...
- android 同根动画_android 动画系列 (1) - tween 动画(view动画)
这是我这个系列的目录,有兴趣的可以看下: android 动画系列 - 目录 tween 动画早些时候我们也叫补间动画(我也不知道为啥),现在也有叫 view 动画的.tween动画是2.X 时代的产 ...
- 如果写一个点击view带动画的下滑展开显示隐藏内容的控件
原理是在onMeasure中得到隐藏内容的高度,点击这个view的时候对隐藏的view startAnimation,让它的高度从0增长到onMeasure得到的这个View的measureHeigh ...
- 红橙Darren视频笔记 筛选View 属性动画 Adapter模式 组合动画AnimatorSet 观察者模式(对比Android ListView) 练习
效果 一 布局分析: 分成三部分 1.菜单栏TabView部分 本文采用线性布局包裹TextView的形式 采用LinearLayout的原因是每个Tab页可以使用权重做到均分LinearLayout ...
- Android实现长按圆环动画View
一.需求来源 最近想到一个需求,类似悦跑圈或者Keep的结束按钮动画 二.思路代码 该动画按钮的主要作用就是防止用户误操作,具体实现思路如下: 1.监听用户的触摸事件OnTouchListener,在 ...
- Android有趣的爆炸散落动画view:开源ExplosionField
Android有趣的爆炸散落动画view:开源ExplosionField github上有一个比较有趣的view动画开源项目ExplosionField,当点击该view时候,产生如图所示效果 ...
- android 动画之漂移,[超棒]自定义View居然还能这样?用 Android 实现一条小金鱼游动动画...
原标题:[超棒]自定义View居然还能这样?用 Android 实现一条小金鱼游动动画 前言 此篇中的小鱼动画是模仿国外一个大牛做的flash动画,第一眼就爱上它了,简约灵动又不失美学,于是抽空试着尝 ...
- Android按下录音录音动画效果 ,自定义录音、播放动画View
Android按下录音录音动画效果 ,自定义录音.播放动画View https://download.csdn.net/download/abc2522/10327428?spm=1001.2101. ...
- android popupwindow边框阴影,android PopupWindow 阴影背景 、动画 、点击显示、隐藏
阴影背景 bg_shadow_white.xml 入动画 pop_enter_anim.xml 出动画 pop_exit_anim.xml 动画 样式 点击显示.隐藏 final PopupWindo ...
最新文章
- C# 获得系统AppData路径
- 电脑爱好者GHOSTWIN764位V4.0
- Web中的XHRHttpRequest
- P2253 好一个一中腰鼓!
- 【转】ABP源码分析十五:ABP中的实用扩展方法
- 第一部分 Calendar介绍
- matplotlib绘制箭头
- jdk13不能显示中文_JDK 13都发布了!你还在用JDK7吗?
- Win10:ssh报错:RSA host key for 192.168.3.10 has changed and you have requested strict checking.
- 操蛋!新来的同事竟然不会在javaee项目中使用WebSocket~
- 深入Managed DirectX9(十五)
- 软件测试报告的项目背景,软件测试报告范本
- 电子数据取证基础知识5
- 泛函分析笔记08:有界线性算子和泛函介绍与共鸣定理
- 神经网络图用什么软件做,神经网络输入图片大小
- 【毕业设计】8-基于STM32的水质_浊度检测仪设计与实现(原理图+源码+实物照片+答辩论文)
- ipad键盘符号少怎么办?
- linux的mysql占用cpu过高_linux 系统中Mysql 进程占用cpu过高的解决
- ROS人机交互软件开发
- 外包项目注意事项问题
热门文章
- python 搭建ftp服务器
- unix更喜欢进程,可是...
- Windows 2003下的Http 500错误
- IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例
- How to enable javascript in windows server 2008 R2 enterprise
- 乐在其中设计模式(C#) - 抽象工厂模式(Abstract Factory Pattern)
- POJ 1002题 解题报告
- linux 查看某一个进程的socket连接数
- linux mailx 发邮件
- python3 数据库操作 orm sqlalchemy 简介