我目前有GridView
填充缩略图。现在通常我会通过onClickListener
在“详细信息”活动中加载这些缩略图的完整版本。
但是我试图复制效果,如果我点击一个缩略图,它应该向上扩展以显示全尺寸图像,当你点击全尺寸图像时,它应该缩小到缩略图。我已经尝试了一个简单的比例动画,但似乎无法让我的头脑在动画图像(并返回)它的初始位置。
注意:如果有人有HTC One X,我追逐的效果就像手机上的Gallery应用程序一样。点击图像时,Jellybean驱动的Nexus 7也具有相同的效果。
我最近的尝试是(点击onClick):
<?xml version="1.0" encoding="utf-8"?>
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fromXScale="1.0"
android:toXScale="1.0"
android:fromYScale="0.0"
android:toYScale="1.0"
android:pivotY="50%"
android:fillAfter="true"
android:fillEnabled="true"
android:startOffset="200"
android:duration="200" />
更新:尝试查看Google的Gallery3D应用的来源(http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android- apps / 4.1.1_r1 / com / android / gallery3d / app),这是Nexus使用的那个,但它非常复杂。
答案 0 :(得分:1)
Here是DevBytes中类似效果的一个很好的例子。它使用ActivityOptions中的新API,可以直接从JellyBean获得,也可以通过support-v4库访问
从该示例中截取的代码位于:
Intent i = new Intent(HomeActivity.this, DetailActivity.class);
i.putExtra(DetailActivity.EXTRA_COLOUR, colour);
Bundle b = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
bitmap.eraseColor(colour);
b = ActivityOptions.makeThumbnailScaleUpAnimation(view, bitmap, 0, 0).toBundle();
}
startActivity(i, b);