Android activity 覆盖活动的挂起传输
我正在开发一个应用程序,它涉及活动之间的转换。使用override pending transition,我成功地实现了这一点,但默认情况下,活动之间的动画仅支持某些设备。但有些设备必须在设置中手动设置动画。现在的问题是使用代码,这是否可行 任何示例代码或链接都非常值得欣赏Android activity 覆盖活动的挂起传输,android-activity,android-animation,transitions,Android Activity,Android Animation,Transitions,我正在开发一个应用程序,它涉及活动之间的转换。使用override pending transition,我成功地实现了这一点,但默认情况下,活动之间的动画仅支持某些设备。但有些设备必须在设置中手动设置动画。现在的问题是使用代码,这是否可行 任何示例代码或链接都非常值得欣赏 提前感谢。除了覆盖转换之外,您实际上无法控制活动动画。覆盖转换是从API 5开始的,它覆盖所有设备(将最小API设置为7/8,覆盖94%以上的设备) 如果某个特定设备覆盖了转换类型,则对此您无能为力,但您通常会发现默认动画是
提前感谢。除了覆盖转换之外,您实际上无法控制活动动画。覆盖转换是从API 5开始的,它覆盖所有设备(将最小API设置为7/8,覆盖94%以上的设备) 如果某个特定设备覆盖了转换类型,则对此您无能为力,但您通常会发现默认动画是这样的
在
onCreate()
中调用overridePendingTransition()
将覆盖设备默认执行的操作。我们可以通过以下步骤在活动之间制作动画:
第一步,在res中,我们创建目录,名称为anim,然后。
在此目录中,我们创建4个文件:
go_in.xml
这是布局活动_first.xml:
这是布局活动_second.xml
您可以在或中看到这些示例。你也可以在这里看到更多
<translate
android:duration="700"
android:fromYDelta="100%"
android:toYDelta="0%"/>
<scale android:duration="700"
android:fromXScale="100%"
android:fromYScale="100%"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="70%"
android:toYScale="70%"/>
<scale android:duration="700"
android:fromXScale="70%"
android:fromYScale="70%"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="100%"
android:toYScale="100%"/>
<translate
android:duration="700"
android:fromYDelta="0%"
android:toYDelta="100%"/>
package com.thedeveloperworldisyours.gmailanimation;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void goTo(View view) {
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
}
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:onClick="goTo"
android:text="@string/activity_main_go" />
package com.thedeveloperworldisyours.gmailanimation;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
overridePendingTransition(R.anim.go_in, R.anim.go_out);
}
public void back(View view) {
finishMyActivity();
}
@Override
public void onBackPressed() {
finishMyActivity();
}
public void finishMyActivity() {
finish();
overridePendingTransition(R.anim.back_in, R.anim.back_out);
}
}
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:onClick="back"
android:text="@string/activity_second_back" />