java - Android - 向上滑动 FrameLayout 并让它停止

标签 java android android-animation

我有一个 FrameLayout,其中包含一些覆盖 ListView 的 UI 元素。我想单击一个按钮并让 FrameLayout 向上滑动以显示下面的列表。

到目前为止,我可以让顶部布局向上滑动,但在侧面动画之后它会立即返回到原来的位置。

 public void showHistory(View v) {

     FrameLayout mainView = (FrameLayout)findViewById(R.id.mainView);
     Animation slideUp = setLayoutAnim_slideup(); 
     mainView.startAnimation(slideUp);

 }

 public Animation setLayoutAnim_slideup() {

        AnimationSet set = new AnimationSet(true);

        Animation animation = new TranslateAnimation(
                Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,
                0.0f, Animation.RELATIVE_TO_SELF, 0.0f,
                Animation.RELATIVE_TO_SELF, -0.8f);
        animation.setDuration(400);
        set.addAnimation(animation);

        return animation;

}

我怎样才能让它停留在动画停止它的地方?

最佳答案

animation.setFillAfter(true) 添加到您的 setLayoutAnim_slideup() 。 功能。

编辑-

public void showHistory(View v) {

        FrameLayout mainView = (FrameLayout) findViewById(R.id.mainView);
        AnimatorSet set = new AnimatorSet();
        // Using property animation
        ObjectAnimator animation = ObjectAnimator.ofFloat(mainView,
                "translationY", 0f, -0.8f);
            animation.setDuration(2000);
        set.play(animation);
        set.start();

    }

关于java - Android - 向上滑动 FrameLayout 并让它停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18865363/

相关文章:

java - Hibernate-Spring boot : spring. jpa.hibernate.ddl-auto=update 更新实体后重新创建表和列

android - onActivityResult 被立即调用

android - constraintlayout.widget.Group 动画不适用于 TransitionManager

android - 如何在 android 中创建可滑动 View ?

java - 加载动画在前 ICS 设备上启动,但不会在后 ICS 设备上启动

java - 尝试从 perl 脚本执行 java 程序时出错

java - Redisson Spring - 处理命令时出现意外异常

java - Eclipse 版本 3.6.1 : where might jar names be referenced other than . 类路径文件?

java - Android SearchView 既没有启动可搜索 Activity ,也没有调用 onNewIntent()

安卓卡片 fragment 动画