Android_ViewFlipper
xml:
- <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"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- tools:context="com.example.viewflipperdemo.MainActivity" >
- <ViewFlipper
- android:id="@+id/flipper"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- ></ViewFlipper>
- </RelativeLayout>
main.java
- package com.example.viewflipperdemo;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.ImageView;
- import android.widget.ViewFlipper;
- /**
- * ViewFlipper:
- * 安卓系统自带的一个多页面管理控件,它可以实现子页面的自动切换
- * 为ViewFlipper加入View:
- * (1)在layout布局文件静态导入子View
- * (2)动态导入:addView()方法
- *
- *案例实现:
- *(1)利用ViewFlipper实现的图片轮播
- *(2)支持手势滑动的ViewFlipper
- *
- */
- public class MainActivity extends Activity {
- private ViewFlipper flipper;
- private int[] resId = {R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4};
- private float startX;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- flipper = (ViewFlipper) findViewById(R.id.flipper);
- /**
- * (1)利用ViewFlipper实现的图片轮播
- */
- //动态导入的方式为Flipper加入子view
- for (int i = 0; i < resId.length; i++) {
- flipper.addView(getImageView(i));
- }
- //为ViewFlipper去添加动画效果
- flipper.setInAnimation(this,R.anim.left_in);
- flipper.setOutAnimation(this,R.anim.left_out);
- //设定ViewFlipper视图切换的时间 3s
- flipper.setFlipInterval(3000);
- //开始播放
- flipper.startFlipping();
- }
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- // TODO Auto-generated method stub
- switch(event.getAction()){
- //手指落下
- case MotionEvent.ACTION_DOWN:{
- startX = event.getX();
- break;
- }
- //手指滑动
- case MotionEvent.ACTION_MOVE:{
- //向右滑动
- if(event.getX()-startX>=100){
- flipper.setInAnimation(this,R.anim.left_in);;
- flipper.setOutAnimation(this, R.anim.left_out);
- flipper.showPrevious();
- }
- //向左滑动
- if(startX-event.getX()>=100){
- flipper.setInAnimation(this,R.anim.right_in);;
- flipper.setOutAnimation(this, R.anim.right_out);
- flipper.showNext();
- }
- break;
- }
- //手指抬起
- case MotionEvent.ACTION_UP:{
- break;
- }
- }
- return super.onTouchEvent(event);
- }
- private View getImageView(int res){
- ImageView image = new ImageView(this);
- image.setBackgroundResource(resId[res]);
- return image;
- }
- }
Android_ViewFlipper的更多相关文章
- android_viewFlipper(一)
需要注意的地方已在代码中表明 package cn.com.sxp; import android.app.Activity; import android.os.Bundle; import and ...
- android 基本控件使用
http://tech.it168.com/a2012/0321/1327/000001327704.shtml Android_ListView_用代码控制ListView的位置 有三种方法 mli ...
随机推荐
- java jvm学习笔记九(策略文件)
欢迎装载请说明出处:http://blog.csdn.net/yfqnihao/article/details/8271407 课程源码:http://download.csdn.net/detail ...
- BinaryReader和BinaryWriter的leaveOpen参数 z
在.NET 4.5后,微软为BinaryWriter和BinaryReader类型的构造函数中加入了leaveOpen参数,当该参数为true后,BinaryReader或者BinaryWriter关 ...
- WebDriver运行异常列表
1. WebDriverException: Component returned failure code: 0x804b000a 这个异常通常是因为在navigate到url时,丢失了http,务 ...
- sublime3安装python插件 -- SublimeCodeIntel
先装Package Control,类似pip的一个索引安装工具. 1.http://sublime.wbond.net/Package%20Control.sublime-package 2.sub ...
- vs2013下git的使用
一.将VS2013项目托管到Git 现在的开源项目越来越多,我们会注意到这些开源项目大多共享在GitHub上面,包括微软开源的项目也在Github上,当然,如果你用过Git后,会发现Git确实不错,其 ...
- sublime Text2.0.2注册码
----- BEGIN LICENSE ----- Andrew Weber Single User License EA7E-855605 813A03DD 5E4AD9E6 6C0EEB94 BC ...
- MVC模式 - 理解J2EE模式
MVC模式Model-View-Controller头字母的缩写,中文翻译为“模型-视图-控制器” 模式(或者模型).该模式把一个GUI应用划分 业务逻辑处理(M),画面表示(V),控制(C) ...
- 【原创】linux命令bc使用详解
最近经常要在linux下做一些进制转换,看到了可以使用bc命令,如下: echo "obase=10;ibase=16;CFFF" | bc 用完以后就对bc进行了进一步的了解, ...
- Serach
1.二分查找 public class BubbleSort { public static int binarySerach(int[] a,int value){ int low=0; int h ...
- [坑]c#中double转字符串精度丢失问题记录
在项目遇到了一个比较大的double值,然后出现了一些意想不到的状况: double b=1141.161994934082; b.ToString();//'1141.16199493408' 然后 ...