效果:通过浮动的方式来展示原图。
步骤:1、动态创建一个ImageView加入到游戏界面中。并将它的Visibility设置为View.GONE 当点击显示按钮时,将原图显示出来。
以一个动画的形式显示出来,或者隐藏。
code
1.
//添加显示原图的View
private void addImageView() {
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.handle_parents);
imageView = new ImageView(PuzzleActivity.this);
imageView.setImageBitmap(changeLaterBitmap);
int x = changeLaterBitmap.getWidth();
int y = changeLaterBitmap.getHeight();
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(x, y);
imageView.setLayoutParams(params);
relativeLayout.addView(imageView);
imageView.setVisibility(View.GONE);
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/handle_parents">
<LinearLayout
.......
private View.OnClickListener buttonListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
//恢复原图
case R.id.resume:
Animation animationShow =
AnimationUtils.loadAnimation(PuzzleActivity.this, R.anim.anim);
Animation animationMiss =
AnimationUtils.loadAnimation(PuzzleActivity.this, R.anim.missanim);
if (mIsShowing) {
imageView.startAnimation(animationMiss);
imageView.setVisibility(View.GONE);
mIsShowing = false;
} else {
imageView.startAnimation(animationShow);
imageView.setVisibility(View.VISIBLE);
mIsShowing = true;
}
break;
- xml定义动画
隐藏动画
"><?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="1000"
android:fromYDelta="0%"
android:toYDelta="-200%" />
</set>
1. 显示动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="1000"
android:fromYDelta="-200%"
android:toYDelta="0%" />
</set>
“