举例说明Android中ViewFlipper的用法

本例实现通过手动滑动手机屏幕逐个显示图片的功能,每次仅显示一张图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本例实现的效果是当手动滑动手机屏幕时会一个一个地显示图片,一次显示一张图片

 

package com.my.viewflippertest;

import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.widget.TextView;
import android.widget.ViewFlipper;

public class ViewFlipperTestActivity extends Activity implements OnGestureListener {
 private ViewFlipper vf;//声明一个ViewFlipper对象
 private GestureDetector gd;
 private int[] d={//定义一个图片集合
   R.drawable.a,
   R.drawable.b,
   R.drawable.c,
   R.drawable.d,
   R.drawable.e,
   R.drawable.f,
   R.drawable.h,
   R.drawable.i,
   R.drawable.g
 };
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        gd=new GestureDetector(this);
        vf=(ViewFlipper)this.findViewById(R.id.vf);//初始化对象
        for(int i=0;i<d.length;i++){
         vf.addView(addTextView(d[i]));//添加界面
        }
    }
    public TextView addTextView(int a){//把图片加入TextView中
     TextView tv=new TextView(this);     
     tv.setBackgroundResource(a);     
     return tv;
    }
   
    //触发接触事件
    public boolean onTouchEvent(MotionEvent event){
     return this.gd.onTouchEvent(event);
    }
    //接触事件发生后显示下一张图片
    public boolean onFling(MotionEvent e1,MotionEvent e2,float velocityX,float velocityY){
     this.vf.showNext();
     return true;
    }
 @Override
 public boolean onDown(MotionEvent e) {
  // TODO Auto-generated method stub
  return false;
 }
 @Override
 public void onLongPress(MotionEvent e) {
  // TODO Auto-generated method stub
  
 }
 @Override
 public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
   float distanceY) {
  // 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;
 }
   
   
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值