用AdapterViewFlipper设置页面布局
<? xml version= "1.0" encoding= "utf-8" ?>
<RelativeLayout xmlns: android ="http://schemas.android.com/apk/res/android"
android :layout_width= "match_parent"
android :layout_height= "match_parent" >
<AdapterViewFlipper
android :id= "@+id/flipper"
android :layout_width= "match_parent"
android :layout_height= "match_parent"
android :layout_alignParentTop= "true"
android :flipInterval= "5000" />
<Button
android :layout_width= "wrap_content"
android :layout_height= "wrap_content"
android :layout_alignParentBottom= "true"
android :layout_alignParentLeft= "true"
android :onClick= "prev"
android :text= "上一个" />
<Button
android :layout_width= "wrap_content"
android :layout_height= "wrap_content"
android :layout_alignParentBottom= "true"
android :layout_centerHorizontal= "true"
android :onClick= "next"
android :text= "下一个" />
<Button
android :layout_width= "wrap_content"
android :layout_height= "wrap_content"
android :layout_alignParentBottom= "true"
android :layout_alignParentRight= "true"
android :onClick= "auto"
android :text= "自动播放" />
</RelativeLayout>
用BaseAdapter将数据显示出来,病实现按钮的点击事件
package com.eson.adapterviewfilpper ;
import android.app.ActionBar ;
import android.os.Bundle ;
import android.support.v7.app.AppCompatActivity ;
import android.view.View ;
import android.view.ViewGroup ;
import android.view.WindowManager ;
import android.widget.AdapterViewFlipper ;
import android.widget.BaseAdapter ;
import android.widget.ImageView ;
public class AdapterViewFlipperTest extends AppCompatActivity {
int [] imageIds= new int []{
R.drawable. img1, R.drawable. img2, R.drawable. img3, R.drawable. img4,
R.drawable. img5 ,R.drawable. img6 ,R.drawable. img7 ,R.drawable. img8 ,
R.drawable. img9 ,R.drawable. img10 ,R.drawable. img11 ,R.drawable. img12 ,
} ;
private AdapterViewFlipper flipper ;
@Override
protected void onCreate (Bundle savedInstanceState) {
super .onCreate(savedInstanceState) ;
setContentView(R.layout. content_main );
flipper = (AdapterViewFlipper) findViewById(R.id. flipper );
//创建一个BaseAdapter对象,该对象负责提供Gallery所显示的列表项
BaseAdapter adapter= new BaseAdapter() {
@Override
public int getCount () {
return imageIds . length;
}
@Override
public Object getItem( int position) {
return position ;
}
@Override
public long getItemId (int position) {
return position ;
}
@Override
public View getView( int position, View convertView , ViewGroup parent) {
//创建一个ImageView
ImageView imageView = new ImageView(AdapterViewFlipperTest. this );
imageView.setImageResource( imageIds[position]) ;
//设置ImageView的缩放类型
imageView.setScaleType(ImageView.ScaleType. FIT_XY) ;
//为imageView设置布局参数
imageView.setLayoutParams( new ActionBar.LayoutParams(ViewGroup.LayoutParams. MATCH_PARENT , WindowManager.LayoutParams. MATCH_PARENT ));
return imageView;
}
};
flipper .setAdapter(adapter) ;
}
public void prev (View source){
//显示上一个组件
flipper .showPrevious() ;
//停止自动播放
flipper .stopFlipping() ;
}
public void next (View source){
//显示下一个组件
flipper .showNext() ;
//停止自动播放
flipper .stopFlipping() ;
isFinishing() ;
}
public void auto (View source){
//开始自动播放
flipper .startFlipping() ;
}
}