一手遮天 AndroID - vIEw(集合类): VIEwFlipper 基础示例如下:项目地址 https://github.com/webabcd/AndroidDemo
作者 webabcd
/vIEw/collection/VIEwFlipperDemo1.java
/** * VIEwFlipper - 页面翻页控件 * * 本例介绍了如何让 VIEwFlipper 自动翻页,以及如何通过手势 *** 作翻页 VIEwFlipper */package com.webabcd.androIDdemo.vIEw.collection;import androIDx.appcompat.app.AppCompatActivity;import androID.os.Bundle;import androID.vIEw.MotionEvent;import androID.Widget.VIEwFlipper;import com.webabcd.androIDdemo.R;public class VIEwFlipperDemo1 extends AppCompatActivity { // 用于演示 VIEwFlipper 的自动翻页 private VIEwFlipper mVIEwFlipper1; // 用于演示 VIEwFlipper 的手势 *** 作翻页 private VIEwFlipper mVIEwFlipper2; // 用于保存手指触摸屏幕时的 x 坐标 private float mStarttouchX; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_vIEw_collection_vIEwflipperdemo1); mVIEwFlipper1 = findVIEwByID(R.ID.vIEwFlipper1); mVIEwFlipper2 = findVIEwByID(R.ID.vIEwFlipper2); sample(); } private voID sample() { /** * addVIEw() - 为 VIEwFlipper 添加一个子 vIEw * setFlipInterval() - 翻页动画的间隔时间,单位:毫秒 * setInAnimation() - 进入的动画 * setoutAnimation() - 离开的动画 * startFlipPing() - 启动动画(默认是不会启动动画的) * stopFlipPing() - 停止动画 */ mVIEwFlipper1.setFlipInterval(3000); mVIEwFlipper1.setInAnimation(this, R.anim.vIEwflipper_right_in); mVIEwFlipper1.setoutAnimation(this, R.anim.vIEwflipper_right_out); mVIEwFlipper1.startFlipPing(); } // 通过手势控制 VIEwFlipper 的翻页 @OverrIDe public boolean ontouchEvent(MotionEvent event) { switch (event.getAction()) { // 手指触摸时 case MotionEvent.ACTION_DOWN: { // 保存手指触摸屏幕时的 x 坐标 mStarttouchX = event.getX(); break; } // 手指触摸后移动时 case MotionEvent.ACTION_MOVE: { break; } // 当手离开时 case MotionEvent.ACTION_UP: { /** * setInAnimation() - 进入的动画 * setoutAnimation() - 离开的动画 * showNext() - 翻页到 VIEwFlipper 中的下一个 vIEw * showPrevIoUs() - 翻页到 VIEwFlipper 的上一个 vIEw */ // 手指从右向左滑动(这里判断手指的横向移动距离要大于 100 才生效) if (mStarttouchX - event.getX() > 100) { mVIEwFlipper2.setInAnimation(this, R.anim.vIEwflipper_right_in); mVIEwFlipper2.setoutAnimation(this, R.anim.vIEwflipper_right_out); mVIEwFlipper2.showNext(); } // 手指从左向右滑动(这里判断手指的横向移动距离要大于 100 才生效) else if (event.getX() - mStarttouchX > 100) { mVIEwFlipper2.setInAnimation(this, R.anim.vIEwflipper_left_in); mVIEwFlipper2.setoutAnimation(this, R.anim.vIEwflipper_left_out); mVIEwFlipper2.showPrevIoUs(); } break; } } return true; }}
/layout/activity_vIEw_collection_vIEwflipperdemo1.xml
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="vertical"> <VIEwFlipper androID:ID="@+ID/vIEwFlipper1" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:background="@color/orange" androID:padding="24dp" androID:layout_margin="4dp"> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:background="@color/blue" androID:textcolor="@color/white" androID:textAlignment="center" androID:text="item 1" /> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:background="@color/blue" androID:textcolor="@color/white" androID:textAlignment="center" androID:text="item 2" /> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:background="@color/blue" androID:textcolor="@color/white" androID:textAlignment="center" androID:text="item 3" /> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:background="@color/blue" androID:textcolor="@color/white" androID:textAlignment="center" androID:text="item 4" /> </VIEwFlipper> <VIEwFlipper androID:ID="@+ID/vIEwFlipper2" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:background="@color/orange" androID:padding="24dp" androID:layout_margin="4dp"> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:background="@color/blue" androID:textcolor="@color/white" androID:textAlignment="center" androID:text="item 1" /> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:background="@color/blue" androID:textcolor="@color/white" androID:textAlignment="center" androID:text="item 2" /> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:background="@color/blue" androID:textcolor="@color/white" androID:textAlignment="center" androID:text="item 3" /> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:background="@color/blue" androID:textcolor="@color/white" androID:textAlignment="center" androID:text="item 4" /> </VIEwFlipper></linearLayout>
/anim/vIEwflipper_right_in.xml
<?xml version="1.0" enCoding="utf-8"?><set xmlns:androID="http://schemas.androID.com/apk/res/androID"> <!--从右到左进入--> <translate androID:duration="2000" androID:fromXDelta="100%p" androID:toXDelta="0" /></set>
/anim/vIEwflipper_right_out.xml
<?xml version="1.0" enCoding="utf-8"?><set xmlns:androID="http://schemas.androID.com/apk/res/androID" > <!--从右到左离开--> <translate androID:duration="2000" androID:fromXDelta="0" androID:toXDelta="-100%p" /></set>
/anim/vIEwflipper_left_in.xml
<?xml version="1.0" enCoding="utf-8"?><set xmlns:androID="http://schemas.androID.com/apk/res/androID" > <!--从左到右进入--> <translate androID:duration="500" androID:fromXDelta="-100%p" androID:toXDelta="0" /></set>
/anim/vIEwflipper_left_out.xml
<?xml version="1.0" enCoding="utf-8"?><set xmlns:androID="http://schemas.androID.com/apk/res/androID"> <!--从左到右离开--> <translate androID:duration="500" androID:fromXDelta="0" androID:toXDelta="100%p" /></set>
总结项目地址 https://github.com/webabcd/AndroidDemo
作者 webabcd
以上是内存溢出为你收集整理的一手遮天 Android - view(集合类): ViewFlipper 基础全部内容,希望文章能够帮你解决一手遮天 Android - view(集合类): ViewFlipper 基础所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)