activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
tools:context="www.sharedfly.demo.MainActivity">
<ImageView
android:layout_weight="1"
android:id="@+id/imageview0"
android:layout_width="56dp"
android:layout_height="56dp"
android:background="@android:color/black"
android:src="@drawable/ic_video"/>
<ImageView
android:id="@+id/imageview1"
android:layout_width="56dp"
android:layout_weight="1"
android:layout_height="56dp"
android:background="@android:color/black"
android:src="@drawable/ic_funny"/>
<ImageView
android:id="@+id/imageview2"
android:layout_weight="1"
android:layout_width="56dp"
android:layout_height="56dp"
android:background="@android:color/black"
android:src="@drawable/ic_news"/>
<ImageView
android:id="@+id/imageViewTarget"
android:layout_weight="1"
android:background="@android:color/black"
android:layout_width="56dp"
android:layout_height="56dp"
android:src="@drawable/ic_sports"/>
</LinearLayout>
在MainActivity文件中
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private ImageView imageView;
private TextView textView;
private ImageView imageView0;
private ImageView imageView1;
private ImageView imageView2;
private ImageView imageViewTarget;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView0 = (ImageView) findViewById(R.id.imageview0);
imageView1 = (ImageView) findViewById(R.id.imageview1);
imageView2 = (ImageView) findViewById(R.id.imageview2);
imageViewTarget = (ImageView) findViewById(R.id.imageViewTarget);
imageView0.setOnClickListener(this);
imageView1.setOnClickListener(this);
imageView2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.imageview0:
change(imageViewTarget,imageView0);
break;
case R.id.imageview1:
change(imageViewTarget,imageView1);
break;
case R.id.imageview2:
change(imageViewTarget,imageView2);
break;
}
}
private void change(ImageView target,ImageView dest) {
dest.buildDrawingCache();
target.buildDrawingCache();
Bitmap image0 = ((BitmapDrawable)dest.getDrawable()).getBitmap();
Bitmap image3 = ((BitmapDrawable)target.getDrawable()).getBitmap();
dest.setImageDrawable(new BitmapDrawable(image3));
target.setImageDrawable(new BitmapDrawable(image0));
}
}