【问题标题】:Flip screens from one activity to another in android在android中将屏幕从一个活动翻转到另一个活动
【发布时间】:2012-07-02 15:17:20
【问题描述】:

实际上我想通过单击按钮从一个活动到另一个活动来旋转或翻转屏幕:比如this

提前致谢。

【问题讨论】:

标签: android android-intent


【解决方案1】:

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

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 中。这里有一些代码示例:

slide_in_up:

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

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

【讨论】:

【解决方案2】:

你可以在这里找到你的答案:Activity transition in Android

两种选择:

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

像这样:

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

        ...

    }

【讨论】:

  • 你能设置一个在类扩展动画中定义的动画吗?如果不能在 XML 过渡中进行 3D 旋转,不是吗?
  • @Goofyahead 3D 对此的定义有点问题,但基本上您可以在 XML 中定义“3D”效果。 API Demos 应用程序中有一个示例。
  • 如何在XML中定义“3D”效果??
【解决方案3】:

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

但是从一个活动更改为另一个活动是行不通的,我为实现该行为所做的工作是获取我所在的活动的位图和我要去的活动的位图,进行此转换以及何时完成startactivity 覆盖了未决的转换,但没有任何效果。

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

问候,

【讨论】:

  • 这似乎也是一个不错且简单的替代方案,可用于实现翻转动画。
猜你喜欢
  • 1970-01-01
  • 2013-07-05
  • 1970-01-01
  • 1970-01-01
  • 2012-04-24
  • 2018-05-31
  • 1970-01-01
  • 2018-10-10
  • 2012-08-04
相关资源
最近更新 更多