在RelativeLayout中,我在TextView下面有一个TextView和一个Button,还有一个覆盖其他两个对象的ImageView。当用户打开活动时,ImageView应覆盖其他项目。 当用户在图像上(左或右)滑动时,它应该被解除,因此用户可以操作按钮并读取文本字段。
如果是一个onClick监听器,我可以在点击时关闭图像,但我想要一个动画,就像在RecicleView中滑动以删除一个元素一样。
答案 0 :(得分:0)
您可以将所需的动画添加到onClick事件中。
1)在res目录中创建(或添加,如果存在)anim文件夹并放入slide_animation.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">
<translate
android:fromXDelta="0%p"
android:toXDelta="75%p"
android:duration="800" />
</set>
2)将此代码添加到图像视图的onclick操作:
// Refer the ImageView like this
imageView = (ImageView) findViewById(R.id.imageView);
// Load the animation like this
animSlide = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.slide_animation);
// Start the animation like this
imageView.startAnimation(animSlide);
您可以修改xml中的动画规格,以便获得所需的效果。
然后只需实现AnimatorListener,即可在动画结束时关闭图像视图。
animSlide.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
//remove image view from the layout
}
});