标签:android的imageswitcher和textswitcher
ImageSwitcher:
activity_main.xml
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.imageswitch.MainActivity" > <ImageSwitcher android:id="@+id/imageSwitcher1_1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" > </ImageSwitcher> </RelativeLayout> <!-- android:inAnimation="@android:anim/slide_in_left" android:outAnimation="@android:anim/slide_out_right" -->
MianActivity
package com.example.imageswitch;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
public class MainActivity extends Activity implements ViewFactory ,OnTouchListener{
private ImageSwitcher imageSwitch;
private int [] images={
R.drawable.kobe0,
R.drawable.kobe1,
R.drawable.kobe3,
R.drawable.kobe4,
R.drawable.kobe6,
};
private int index; //要显示的图片的下标
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageSwitch=(ImageSwitcher) findViewById(R.id.imageSwitcher1_1);
//设置创建ImageView的工厂
imageSwitch.setFactory(this);
//设置触屏事件
imageSwitch.setOnTouchListener(this);
}
//ViewFactory工厂接口的方法,通过这个方法,给ImageSwitch组件提供两个
@Override
public View makeView() {
// TODO Auto-generated method stub
ImageView imageView=new ImageView(this);
imageView.setImageResource(images[0]);
return imageView;
}
//定义两个x坐标点
float startx=0.0F; //开始位置
float endx=0.0F; //结束位置
//触屏事件监听方法
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN){
startx=event.getX();
return true;
}else if(event.getAction()==MotionEvent.ACTION_UP){
endx=event.getX();
//判断左滑动
if(startx-endx>20){
index=(index+1)<(images.length-1)?++index:0;
imageSwitch.setImageResource(images[index]);
//在代码中设置动画效果
imageSwitch.setInAnimation(this, android.R.anim.fade_in);
imageSwitch.setOutAnimation(this, android.R.anim.fade_out);
}
//判断右滑动
if(endx-startx>20){
index=(index-1)>0?--index:images.length-1;
imageSwitch.setImageResource(images[index]);
imageSwitch.setInAnimation(this, android.R.anim.slide_in_left);
imageSwitch.setOutAnimation(this, android.R.anim.slide_out_right);
}
}
return true;
}
}TextSwitcher与ImageSwitcher类似,只需要将ImageSwitcher换成TextSwitcher
设置图片资源修改为设置文本即可
本文出自 “matengbing” 博客,请务必保留此出处http://matengbing.blog.51cto.com/11395502/1882816
android的ImageSwitcher和TextSwitcher
标签:android的imageswitcher和textswitcher
原文地址:http://matengbing.blog.51cto.com/11395502/1882816