AdapterViewFlipper使用案例


用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() ;
    }
}





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值