4

实际上我想通过单击从一个活动到另一个活动的按钮来旋转或翻转屏幕:像这样

提前致谢。

4

3 回答 3

3

您可以这样做覆盖活动之间的转换:

Button btn = (Button)findViewById(R.id.myBtn);

btn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            startActivity(new Intent(ActualActivity.this, 
                    TargetActivity.class));
            overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up);
        }
    });

其中 slide_in_up 和 slide_out_up 是您的自定义动画,保存在 res/anim 中。这里有一些代码示例:

滑入向上:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromYDelta="-100%p" android:toYDelta="0" android:duration="300"/>
</set>

slide_out_up:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromYDelta="0" android:toYDelta="100%p" android:duration="300"/>
</set>

此示例将您的活动从上到下移动。您可以修改动画文件以获得不同的动画。

于 2012-07-02T08:09:01.303 回答
1

@abhy 提供的链接是我们都关注过的链接:)

但是从一个活动更改为另一个活动是行不通的,我为实现该行为所做的工作是为了获取我所在的活动的位图和我要去的活动的位图,进行此转换,并在其完成时使 startactivity 覆盖挂起的过渡没有效果。

我不认为这是一个很好的方法,我很想看看是否有人有更好的主意:)

问候,

于 2012-07-02T08:13:47.077 回答
1

您可以在这里找到答案:Android 中的活动转换

两种选择:

  1. 阅读本教程http://developerlife.com/tutorials/?p=343
  2. 告诉第二个活动(您使用按钮打开的活动)在创建时要显示什么动画。

像这样:

@Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        getWindow().setWindowAnimations(ANIMATION);

        ...

    }
于 2012-07-02T08:08:45.503 回答