当我更改同一活动中的内容时如何设置动画

发布于 2024-12-11 07:23:47 字数 289 浏览 0 评论 0原文

我在一项活动中设置不同的布局取决于用户的选择。

例如我有 setContentView(R.layout.main), 之后,当用户选择某些内容时,我将设置新的内容,例如 setContentView(R.layout.first) ,下次单击时我将设置 setContentView(R.layout.second)

我需要更改同一活动中的内容。当我将内容从主要更改为第一个以及从第一个更改为第二个时,如何设置动画(就像我真正在活动之间更改时一样)?

I one activity I am seting different layouts depends on user choice.

For example I have setContentView(R.layout.main),
after that when user choose something I am setting new like setContentView(R.layout.first) when next time clicks I am setting setContentView(R.layout.second).

I need to change content in same activity. How to set animation ( something like when I really changing between activities ) when I changes content from main to first and from first to second ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

勿忘心安 2024-12-18 07:23:47

让我们以此为例。
假设我们要在按下按钮时更改视图,

private OnTouchListener touch = new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
                 if (event.getAction() == MotionEvent.ACTION_UP) {
                     loadOutViewAnimation();//
                     loadInViewAnimation();
                  }
            }
    }

    public void loadOutViewAnimation(){
            //considering layout is your root layout
            layout.setAnimation(animation);

    }

    public void  loadInViewAnimation(){
        setContentView(R.layout.first);
        //by using findview by id here you will get root layout.
        layout.setAnimation(animation);
    }

Let us take this with example.
Suppose we are changing view on press of button,

private OnTouchListener touch = new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
                 if (event.getAction() == MotionEvent.ACTION_UP) {
                     loadOutViewAnimation();//
                     loadInViewAnimation();
                  }
            }
    }

    public void loadOutViewAnimation(){
            //considering layout is your root layout
            layout.setAnimation(animation);

    }

    public void  loadInViewAnimation(){
        setContentView(R.layout.first);
        //by using findview by id here you will get root layout.
        layout.setAnimation(animation);
    }
混吃等死 2024-12-18 07:23:47

您可以使用 ViewFlipper 来做到这一点......
请参阅此示例 http://www.androidpeople.com/android-viewflipper-example
我希望这将帮助您解决您的问题。

You can do this by using ViewFlipper.....
See this example http://www.androidpeople.com/android-viewflipper-example
I hope this will help you to solve your problem.

冰雪梦之恋 2024-12-18 07:23:47

您可以使用 AnimationUtilsmakeInAnimation(context, boolean)makeOutAnimation(context, boolean) 中的方法来创建动画对象。使用 setStartTimesetDuration 方法对其进行配置。现在你可以在你的视图上调用setAnimation,它将随着你的动画出现或/和消失。

You can used methods from AnimationUtils class makeInAnimation(context, boolean) and makeOutAnimation(context, boolean) to create Animation object. Config it with setStartTime and setDuration methods. Now you can call setAnimation on your view and it will be appearing or/and disappearing with your animation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文