Android 单击图片切换效果
新建一个Android项目,命名为FrameLayout
此实例主要操作src文件夹下的MainActivity.Java类文件和res/layout下的activity_main.xml布局文件
1.布局主页面代码activity_main.xml↓
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#897753"
>
<ImageView
android:id="@+id/image1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
android:src="@drawable/a"/>
<ImageView
android:id="@+id/image2"
android:visibility="invisible"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/b"/>
<ImageView
android:id="@+id/image3"
android:visibility="invisible"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/c"/>
</FrameLayout>
2.Java代码MainActivity.Java↓
package com.example.framelayout;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import
android.util.Log;
import android.view.Menu;
import
android.view.MotionEvent;
import android.view.View;
import
android.widget.ImageView;
public class MainActivity extends Activity {
private String TAG =
"FramLayoutTestActivity";
private ImageView image1;
private ImageView
image2;
private ImageView image3;
private List<ImageView>
list;
private int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image1
= (ImageView) findViewById(R.id.image1);
image2 = (ImageView)
findViewById(R.id.image2);
image3 = (ImageView)
findViewById(R.id.image3);
list = new
ArrayList<ImageView>();
list.add(image1);
list.add(image2);
list.add(image3);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO
Auto-generated method stub
if (event.getAction() ==
MotionEvent.ACTION_DOWN) {
Log.i(TAG,
"move---");
showImage();
}
return super.onTouchEvent(event);
}
private void showImage()
{
//image1.setVisibility(View.VISIBLE);
count = count % 3;
for
(ImageView i : list)
{
i.setVisibility(View.INVISIBLE);
}
list.get(count).setVisibility(View.VISIBLE);
count++;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//
Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.main, menu);
return
true;
}
}
3.使用Android模拟器或者连接Android智能手机运行项目,点击程序界面,图片自动切换。
ps: activity_main.xml文件中几个ImageView中的src链接图片需要从外部复制到项目中的res/drawable目录下