仿微信的点赞动画,android scaleanimation 界面被遮盖问题解决,
仿微信的点赞动画,Android ScaleAnimation 界面被遮盖问题解决
在我们开发APP时,经常会遇到一些比较复杂的问题。今天,我们就来讨论一个比较有意思的问题:如何实现仿微信的点赞动画,而不让界面被遮盖。
问题描述
当我们执行ScaleAnimation动画的时候,往往会出现这样的情况:图片或其他视图在执行动画过程中,被外部容器所遮盖。这是一个比较常见的问题,但是解决起来却不是那么容易。
主要思路
为了解决这个问题,我们需要采取以下几个步骤:
1. 定义mCopyView: 在21行定义一个新的视图mCopyView,真正执行动画的视图。
2. 将mCopyView添加到父容器中: 在38行,将mCopyView添加到父容器中,这样就可以避免外部容器遮盖问题。
3. 设置mCopyView的属性: 在46行,设置mCopyView的属性,例如大小、位置等,以便于动画执行。
详细代码
下面是完整的代码:
```javapublic class MainActivity extends AppCompatActivity {
private ImageView mImageView;
private View mCopyView;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化视图 mImageView = findViewById(R.id.image_view);
mCopyView = new View(this); //21行定义mCopyView // 将mCopyView添加到父容器中 ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
((ViewGroup) mImageView.getParent()).addView(mCopyView, layoutParams);
// 设置mCopyView的属性 mCopyView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
mCopyView.setPadding(0,0,0,0); //46行设置mCopyView的属性 // 执行动画 ScaleAnimation animation = new ScaleAnimation(1f,2f,1f,2f, Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f);
animation.setDuration(1000); // 动画持续时间为1秒 mCopyView.startAnimation(animation);
}
}
```
总结
通过以上的步骤和代码,我们可以实现仿微信的点赞动画,而不让界面被遮盖。这个问题虽然比较复杂,但是解决起来却是非常有趣的。
希望这篇文章能够帮助你解决类似的问题,或者给你带来一些新的灵感!
点赞Android点赞动画androidscaleanimati