Android图片轮播效果的几种实现方法

大家在使用APP的过程中,经常会看到上部banner图片轮播的效果,那么今天我们就一起来学习一下,android中图片轮询的几种实现方法:

第一种:使用动画的方法实现:(代码繁琐)

这种发放需要:两个动画效果,一个布局,一个主类来实现,不多说了,来看代码吧:

public class IamgeTrActivity extends Activity {/** Called when the activity is first created. */public ImageView imageView;public ImageView imageView2;public Animation animation1;public Animation animation2;public TextView text;public boolean juage = true;public int images[] = new int[] { R.drawable.icon, R.drawable.expriment,R.drawable.changer, R.drawable.dataline, R.drawable.preffitication };public int count = 0;public Handler handler = new Handler();public Runnable runnable = new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubAnimationSet animationSet1 = new AnimationSet(true);AnimationSet animationSet2 = new AnimationSet(true);imageView2.setVisibility(0);TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF,-1f, Animation.RELATIVE_TO_SELF, 0f,Animation.RELATIVE_TO_SELF, 0f);ta.setDuration(2000);animationSet1.addAnimation(ta);animationSet1.setFillAfter(true);ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 1.0f,Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF,0f, Animation.RELATIVE_TO_SELF, 0f);ta.setDuration(2000);animationSet2.addAnimation(ta);animationSet2.setFillAfter(true);//iamgeView 出去 imageView2 进来imageView.startAnimation(animationSet1);imageView2.startAnimation(animationSet2);imageView.setBackgroundResource(images[count % 5]);count++;imageView2.setBackgroundResource(images[count % 5]);text.setText(String.valueOf(count));if (juage)handler.postDelayed(runnable, 6000);Log.i("handler", "handler");}};@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);imageView = (ImageView) findViewById(R.id.imageView);imageView2 = (ImageView) findViewById(R.id.imageView2);text=(TextView)findViewById(R.id.text);text.setText(String.valueOf(count));//将iamgeView先隐藏,然后显示imageView2.setVisibility(4);handler.postDelayed(runnable, 2000);}public void onPause() {juage = false;super.onPause();}}

布局代码:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=""android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:id="@+id/rl"><ImageView android:id="@+id/imageView" android:layout_width="fill_parent" android:background="@drawable/icon" android:layout_below="@+id/rl"android:layout_height="120dp" /><ImageView android:id="@+id/imageView2" android:layout_width="fill_parent" android:background="@drawable/expriment" android:layout_below="@+id/rl"android:layout_height="120dp" /><TextView android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/imageView"/></RelativeLayout>

代码下载地址:

第二种:使用ViewFlipper实现图片的轮播

Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换:

首先需要为ViewFlipper加入View

(1) 静态导入:在layout布局文件中直接导入

(2) 动态导入:addView()方法

ViewPlipper常用方法:

setInAnimation:设置View进入屏幕时候使用的动画

setOutAnimation:设置View退出屏幕时候使用的动画

showNext:调用该函数来显示ViewFlipper里面的下一个View

showPrevious:调用该函数来显示ViewFlipper里面的上一个View

setFlipInterval:设置View之间切换的时间间隔

startFlipping使用上面设置的时间间隔来开始切换所有的View,切换会循环进行

stopFlipping:停止View切换

讲了这么多,那么我们今天要实现的是什么呢?

(1) 利用ViewFlipper实现图片的轮播

(2) 支持手势滑动的ViewFlipper

我们需要先准备几张图片:把图片放进drawable中

创建两个动画:在res下面新建一个folder里面新建两个xml:

left_in:

离开睁眼闭眼看见的城市,逃离身边的纷纷扰扰,

Android图片轮播效果的几种实现方法

相关文章:

你感兴趣的文章:

标签云: