viewFlipper的使用实现自动轮播广告图片
2016-02-15 20:18
537 查看
第一步:layout文件
第二步:java文件
三:源码
源码下载
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="${relativePackage}.${activityClass}" > <ViewFlipper android:id="@+id/viewflipper" android:layout_width="match_parent" android:layout_height="match_parent" > </ViewFlipper> </RelativeLayout>
第二步:java文件
package com.example.testviewflipper; import android.R.integer; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.ImageView; import android.widget.Toast; import android.widget.ViewFlipper; public class MainActivity extends Activity { ViewFlipper viewFlipper; float startX = 0; ImageView imageView1; ImageView imageView2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewFlipper = (ViewFlipper) findViewById(R.id.viewflipper); /** * 数据源 */ imageView1 = new ImageView(this); imageView1.setBackgroundResource(R.drawable.pic1); imageView2 = new ImageView(this); imageView2.setBackgroundResource(R.drawable.pic2); /** * 添加子view */ viewFlipper.addView(imageView1); viewFlipper.addView(imageView2); /** * 设置view切换的动画 */ // viewFlipper.setInAnimation(inAnimation); // viewFlipper.setOutAnimation(outAnimation); /** * 设置view切换的时间间隔 */ viewFlipper.setFlipInterval(2000); /** * view开始切换 */ viewFlipper.startFlipping(); /** * 设置左右滑动事件以及点击事件 */ viewFlipper.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch (event.getAction()) { case MotionEvent.ACTION_DOWN: startX = event.getX(); break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: /** * 点击事件 */ if ((event.getX() - startX) == 0) { if (imageView1 == viewFlipper.getCurrentView()) { Toast.makeText(MainActivity.this, "您选择了第一张图片", 2000) .show(); } if (imageView2 == viewFlipper.getCurrentView()) { Toast.makeText(MainActivity.this, "您选择了第二张图片", 2000) .show(); } } /** * 向右滑动 */ if ((event.getX() - startX) > 100) { viewFlipper.showNext(); } /** * 向左滑动 */ if ((startX - event.getX()) > 100) { viewFlipper.showPrevious(); } break; default: break; } return true; } }); } }
三:源码
源码下载
相关文章推荐
- tableView以及cell的使用
- 提高php编程效率的方法
- C++11新特性之move与forward
- Java [Leetcode 67]Add Binary
- php问答笔记
- 多态
- Java用pinyin4j库实现汉字转拼音
- The Java™ Tutorials — Concurrency :Intrinsic Locks and Synchronization 内置锁和同步
- 杂
- nGrinder工具进行接口性能测试
- x265-1.8版本-encoder/level.cpp注释
- 新浪微博之微博分享
- 生活手记
- 城规初探
- JavaScript实现动态加载其他的js文件-(咋个办呢 zgbn)
- aysnctask 处理网络事件
- 台湾科技挣扎,人祸大于天灾?
- 台湾科技挣扎,人祸大于天灾?
- hdu 杭电 2104 hide handkerchief
- x265-1.8版本-encoder/frameencoder.h注释