Android 单击图片切换效果
2014-05-07 23:54
423 查看
新建一个Android项目,命名为FrameLayout
此实例主要操作src文件夹下的MainActivity.[b]Java类文件和res/layout下的[b]activity_main.xml布局文件[/b][/b]
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代码[b]MainActivity.[b]Java[/b]↓[/b]
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目录下
此实例主要操作src文件夹下的MainActivity.[b]Java类文件和res/layout下的[b]activity_main.xml布局文件[/b][/b]
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代码[b]MainActivity.[b]Java[/b]↓[/b]
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目录下
相关文章推荐
- Android - ImageButton单击切换按钮图片效果的实现
- Android编程单击图片实现切换效果的方法
- Android - ImageButton单击切换按钮图片效果的实现
- Android - ImageButton单击切换按钮图片效果的实现
- Android - ImageButton单击切换按钮图片效果的实现 .
- Android - ImageButton单击切换按钮图片效果的实现
- Android 笔记:ImageButton单击切换按钮图片效果的实现(转)
- Android ImageButton单击切换按钮图片效果
- Android - ImageButton单击切换按钮图片效果的实现
- Android - ImageButton单击切换按钮图片效果的实现 .
- Android - ImageButton单击切换按钮图片效果的实现
- Android 自定义 ViewPager 打造千变万化的图片切换效果
- Android实现连续并排的若干个TextView单击改变背景颜色达到选项卡Tab栏切换效果
- Android自定义ViewPager实现个性化的图片切换效果
- Android中使用ImageViewSwitcher实现图片切换轮播导航效果
- Android 自定义 ViewPager 打造千变万化的图片切换效果
- Android 图片实现按钮点击切换效果
- android 单击 切换图片 --- 注意图片大小
- Android 自定义 ViewPager 打造千变万化的图片切换效果
- Android 自定义 ViewPager 打造千变万化的图片切换效果