如何从右向左滑动视图?

时间:2019-05-21 06:08:26

标签: android android-animation

我正在尝试从右向左滑动视图,单击某个按钮后其可见性为GONE,而单击另一个按钮时该视图为反向。我尝试了以下解决方案。但是它要求视图为VISIBLE,并将view从一个位置滑到另一个位置。我希望像navigation drawer一样具有滑动效果,但要使用view。我该如何实现?

<?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>

imageView = (ImageView) findViewById(R.id.img);

// Load the animation like this
animSlide = AnimationUtils.loadAnimation(getApplicationContext(),
                    R.anim.slide);

// Start the animation like this
imageView.startAnimation(animSlide);

1 个答案:

答案 0 :(得分:1)

可见性更改应通过Transition API进行动画处理,该软件包可在support(androix)软件包中找到:

private void toggle() {
    View imageView = findViewById(R.id.imageView);
    ViewGroup parent = findViewById(R.id.parent);

    Transition transition = new Slide(Gravity.LEFT);
    transition.setDuration(600);
    transition.addTarget(R.id.imageView);

    TransitionManager.beginDelayedTransition(parent, transition);
    imageView.setVisibility(show ? View.VISIBLE : View.GONE);
}

这是结果:

enter image description here

这里是my answer,具有更多信息。