android之ViewFlipper
2024-10-19 07:31:43
xml文件
activity-main.xml
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/viewFlipper" android:layout_width="match_parent"
android:layout_height="match_parent"> <include
android:id="@+id/view1"
layout="@layout/view1"></include> <include
android:id="@+id/view2"
layout="@layout/view2"></include> <include
android:id="@+id/view3"
layout="@layout/view3"></include> <include
android:id="@+id/view4"
layout="@layout/view4"></include> <include
android:id="@+id/view5"
layout="@layout/view5"></include> </ViewFlipper>
view1.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"
android:background="@drawable/android01"> <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/view1"
android:textSize="30sp"
android:layout_gravity="center_horizontal"/>
</LinearLayout>
MainActivity
package com.viewflipperdemo; import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.ViewFlipper; public class MainActivity extends Activity implements View.OnTouchListener{ private ViewFlipper viewFlipper; private float mTouchDownX;//手指按下的X坐标
private float mTouchUpX;//手指松开时的X坐标 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
/*viewFlipper.setAutoStart(true);
viewFlipper.setFlipInterval(2000);*/
viewFlipper.setOnTouchListener(this);
} @Override
public boolean onTouch(View v, MotionEvent event) { //当手指在屏幕上按下时
if (event.getAction() == MotionEvent.ACTION_DOWN) {
mTouchDownX = event.getX(); //取得左右滑动时,取得X的坐标
Log.i("Temp", "mTouchDownX:" + mTouchDownX);
return true;
} else if (event.getAction() == MotionEvent.ACTION_UP) {
mTouchUpX = event.getX();
Log.i("Temp", "mTouchUpX:" + mTouchUpX);
//从左到右时
if (mTouchUpX - mTouchDownX>100) {
//设置动画
viewFlipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_in));
viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_out));
viewFlipper.showPrevious();
} else if(mTouchDownX- mTouchUpX>100) {//从右到左时 viewFlipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));
viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
viewFlipper.showNext();
}
return true;
}
return false;
}
}
自己总结:
ViewFlipper用于页面翻页,--》 ViewAnimator ---->FrameLayout 所有可以翻页
XML
最新文章
- SQL数据库约束行为---防止数据乱填(即数据规范化)
- Zendframework 模块加载事件触发顺序。
- C# 数据结构 栈 Stack
- 边走边学Nodejs (基础入门篇)
- 64位系统ADB
- H面试程序(10): 字符串包含问题
- HDU 2601 An easy problem
- 【Selenium】idea的selenium环境配置
- Javascript里的if判断与逻辑运算符(||, &;&;)和比较运算符的特别之处
- 解决:Using where; Using join buffer (Block Nested Loop)
- GBK转UTF8
- 解决 ln -s 软链接产生的Too many levels of symbolic links错误
- sqlite 3基本使用方法
- Java基础-进制转换
- C语言lseek()函数:移动文件的读写位置
- html的a标签的 href 和 onclick。
- apache服务器设置
- openssh 在32位、64位操作系统上的安装配置
- selenium入门基础知识
- MFC鼠标键盘消息处理