zoukankan      html  css  js  c++  java
  • ANDROID笔记:AdapterViewFlipper和ViewFlipper的简单使用

     1 package com.example.android_flipper;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 import android.view.View;
     6 import android.view.View.OnClickListener;
     7 import android.widget.AdapterView;
     8 import android.widget.AdapterView.OnItemClickListener;
     9 import android.widget.AdapterView.OnItemSelectedListener;
    10 import android.widget.AdapterViewFlipper;
    11 import android.widget.Toast;
    12 
    13 public class MainActivity extends Activity {
    14     int counter = 0;
    15     int[] images = { R.drawable.a1, R.drawable.a2, R.drawable.a3, R.drawable.a4 };
    16     // 监听AdapterViewFlipper
    17     private View.OnClickListener imageViewListener = new OnClickListener() {
    18 
    19         @Override
    20         public void onClick(View v) {
    21             Toast.makeText(getApplicationContext(), "image", 200).show();
    22 
    23         }
    24     };
    25 
    26     @Override
    27     protected void onCreate(Bundle savedInstanceState) {
    28         super.onCreate(savedInstanceState);
    29         setContentView(R.layout.filppertext);
    30         AdapterViewFlipper flipper = (AdapterViewFlipper) findViewById(R.id.filpper);
    31         flipper.setAdapter(new FlipperAdapter(getApplicationContext(), images,
    32                 imageViewListener));
    33         // 开始滑动
    34         flipper.startFlipping();
    35 
    36     }
    37 }
     1 package com.example.android_flipper;
     2 
     3 import android.content.Context;
     4 import android.view.View;
     5 import android.view.View.OnClickListener;
     6 import android.view.ViewGroup;
     7 import android.view.animation.Animation;
     8 import android.view.animation.AnimationUtils;
     9 import android.widget.AdapterViewFlipper;
    10 import android.widget.BaseAdapter;
    11 import android.widget.ImageView;
    12 import android.widget.ImageView.ScaleType;
    13 import android.widget.Toast;
    14 
    15 public class FlipperAdapter extends BaseAdapter {
    16     private int[] images;
    17     private Context context;
    18     private OnClickListener listener;
    19     Animation animation;
    20 
    21     public FlipperAdapter(Context context, int[] images,
    22             OnClickListener listener) {
    23         this.images = images;
    24         this.context = context;
    25         this.listener = listener;
    26 
    27     }
    28 
    29     public void setListener(OnClickListener listener) {
    30         this.listener = listener;
    31     }
    32 
    33     @Override
    34     public int getCount() {
    35         // TODO Auto-generated method stub
    36         return images.length;
    37     }
    38 
    39     @Override
    40     public Object getItem(int position) {
    41         // TODO Auto-generated method stub
    42         return images[position];
    43     }
    44 
    45     @Override
    46     public long getItemId(int position) {
    47         // TODO Auto-generated method stub
    48         return position;
    49     }
    50 
    51     @Override
    52     public View getView(int position, View convertView, ViewGroup parent) {
    53         // TODO Auto-generated method stub
    54         final ImageView imageView = new ImageView(context);
    55         imageView.setScaleType(ScaleType.FIT_XY);
    56         imageView
    57                 .setLayoutParams(new AdapterViewFlipper.LayoutParams(480, 800));
    58         imageView.setImageResource(images[position]);
    59         // 设置显示的动画效果
    60         animation = AnimationUtils.loadAnimation(context, R.anim.alpha1);
    61         imageView.setAnimation(animation);
    62 
    63         imageView.setOnClickListener(listener);
    64         return imageView;
    65     }
    66 }
    1 <?xml version="1.0" encoding="utf-8"?>
    2 <AdapterViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
    3     android:id="@+id/filpper"
    4     android:layout_width="match_parent"
    5     android:layout_height="match_parent"
    6     android:flipInterval="4000"
    7     android:orientation="vertical" >
    8 
    9 </AdapterViewFlipper>

    注:

    AdapterViewFlipper 不能直接添加监听


    ViewFlipper的使用
    package com.example.android_viewflipper;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.GestureDetector;
    import android.view.GestureDetector.OnGestureListener;
    import android.view.MotionEvent;
    import android.widget.ImageView;
    import android.widget.ViewFlipper;
    
    public class MainActivity extends Activity implements OnGestureListener {
        ViewFlipper flipper;
        GestureDetector mGestureDetector;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            flipper = (ViewFlipper) findViewById(R.id.flipper);
            ImageView imageView = new ImageView(getApplicationContext());
            imageView.setBackgroundResource(R.drawable.ic_launcher);
            flipper.addView(imageView);
            // 手势
            mGestureDetector = new GestureDetector(this);
        }
    
        @Override
        public boolean onTouchEvent(MotionEvent event) {
            return mGestureDetector.onTouchEvent(event);
        }
    
        @Override
        public boolean onDown(MotionEvent e) {
            // TODO Auto-generated method stub
            return false;
        }
    
        @Override
        public void onShowPress(MotionEvent e) {
            // TODO Auto-generated method stub
    
        }
    
        @Override
        public boolean onSingleTapUp(MotionEvent e) {
            // TODO Auto-generated method stub
            return false;
        }
    
        @Override
        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
                float distanceY) {
            // TODO Auto-generated method stub
            return false;
        }
    
        @Override
        public void onLongPress(MotionEvent e) {
            // TODO Auto-generated method stub
    
        }
    
        /**
         * 滑动变换图片
         */
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                float velocityY) {
            if (e2.getX() - e1.getX() > 100) {
                flipper.showPrevious();
            } else if (e2.getX() - e1.getX() < 100) {
                flipper.showNext();
            }
            return false;
        }
    
    }
    
    
    
     
    <ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/flipper"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:flipInterval="1000" >
    
        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:scaleType="centerCrop"
            android:src="@drawable/guide" />
    
        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="centerCrop"
            android:src="@drawable/guide0" />
    
        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="centerCrop"
            android:src="@drawable/guide1" />
    
        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="centerCrop"
            android:src="@drawable/guide2" />
    
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/guide3"
            android:scaleType="centerCrop" >
    
            <Button
                android:id="@+id/btn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:layout_marginBottom="46dp"
                android:text="开始" />
        </RelativeLayout>
    
    </ViewFlipper>



  • 相关阅读:
    88. 合并两个有序数组
    680. 验证回文字符串 Ⅱ
    345. 反转字符串中的元音字母
    633. 平方数之和
    分支程序设计
    scanf函数(初学者)
    输入与输出(初学者)
    C语句详细(初学者)
    算术运算符和算术表达式(初学者)
    变量赋值(初学者)
  • 原文地址:https://www.cnblogs.com/afluy/p/3375764.html
Copyright © 2011-2022 走看看