我想从一个对话框创建一个“最大化”效果到我的完整活动中,所以我希望打开动画显示活动从一个盒子扩展到全尺寸。
自 Jelly Bean 以来,股票启动器已经这样做了(按下应用程序快捷方式将从该图标的位置放大应用程序,并且最近的应用程序菜单从 ICS 开始就已经这样做了。
弄清楚了!
Bundle options = ActivityOptionsCompat.makeScaleUpAnimation(
findViewById(android.R.id.content),
findViewById(android.R.id.content).getLeft(),
findViewById(android.R.id.content).getTop(),
findViewById(android.R.id.content).getWidth(),
findViewById(android.R.id.content).getHeight()).toBundle();
startActivity(intent, options);
它仅适用于 API 16 及更高版本,因此请检查它并将普通旧startActivity
版本用于旧版本。
从左下角最大化将是这样的。
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:duration="2000">
<scale
android:fromXScale="0"
android:toXScale="1"
android:fromYScale="0"
android:toYScale="1"
android:pivotX="0%"
android:pivotY="100%"/>
<translate android:fromYDelta="100%p"
android:toYDelta="0%p"/>
</set>