使用ViewFlipper实现屏幕切换动画效果
来源:互联网 发布:mastercam攻丝怎么编程 编辑:程序博客网 时间:2024/05/11 20:58
package com.example.viewflipper;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.MotionEvent;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.ViewFlipper;import butterknife.Bind;import butterknife.ButterKnife;public class MainActivity extends AppCompatActivity { @Bind(R.id.vf) ViewFlipper vf; @Bind(R.id.activity_main) RelativeLayout activityMain;private int[]resId={R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); //showNext 显示下一个View showPrevious显示上一个view //seInterval设置view之间切换的时间间隔 //startFlipping使用上面设置的时间间隔来开始切换所有的view 切换会循环进行 //stopFlipping 停止view切换 //1 实现图片轮播 2 支持手势滑动 //动态导入的方式为ViewFilpper加入子view for (int i = 0; i < resId.length; i++) { vf.addView(getImageView(resId[i])); }// aotoPlay(); vf.setFlipInterval(3000); } private void aotoPlay() { vf.setInAnimation(this, R.anim.left_in); vf.setOutAnimation(this,R.anim.left_out); vf.setFlipInterval(3000); vf.startFlipping(); } private ImageView getImageView(int resId){ ImageView imageView = new ImageView(this); // imageView.setImageResource(resId); //充满全屏 imageView.setBackgroundResource(resId); return imageView; } private float startX; @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: startX=event.getX(); break; case MotionEvent.ACTION_MOVE: //右滑 100px //看前一页 if(event.getX()-startX>100){ vf.setInAnimation(this,R.anim.left_in); vf.setOutAnimation(this,R.anim.left_out); vf.showPrevious(); }else if(event.getX()-startX<100){ //左滑 vf.setInAnimation(this,R.anim.right_in); vf.setOutAnimation(this,R.anim.right_out); vf.showNext(); } break; case MotionEvent.ACTION_UP: vf.startFlipping(); break; } return true; }}
//布局
<ViewFlipper android:id="@+id/vf" android:layout_width="match_parent" android:layout_height="match_parent">//动画
left_in
<?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"/> <alpha android:fromAlpha="0.5" android:toAlpha="1" android:duration="2000"/></set>
left_out
<?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"/> <alpha android:fromAlpha="1" android:toAlpha="0.5" android:duration="2000"/></set>
right_in
<?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"/> <alpha android:fromAlpha="0.5" android:toAlpha="1" android:duration="2000"/></set>
right_out
<?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"/> <alpha android:fromAlpha="0.5" android:toAlpha="1" android:duration="2000"/></set>
阅读全文
0 0
- 使用ViewFlipper实现屏幕切换动画效果
- 使用ViewFlipper实现屏幕切换动画效果
- 使用ViewFlipper实现屏幕切换动画效果
- Android学习-使用ViewFlipper实现屏幕切换的动画效果
- 利用ViewFlipper实现屏幕切换动画效果
- ViewFlipper实现屏幕切换动画效果
- 使用ViewFlipper实现屏幕滚动切换动画
- Android利用ViewFlipper实现屏幕切换动画效果
- Android利用ViewFlipper实现屏幕切换动画效果
- Android利用ViewFlipper实现屏幕切换动画效果
- Android利用ViewFlipper实现屏幕切换动画效果
- Android利用ViewFlipper实现屏幕切换动画效果
- Android利用ViewFlipper实现屏幕切换动画效果
- Android利用ViewFlipper实现屏幕切换动画效果
- Android利用ViewFlipper实现屏幕切换动画效果
- Android利用ViewFlipper实现屏幕切换动画效果
- Android利用ViewFlipper实现屏幕切换动画效果
- Android利用ViewFlipper实现屏幕切换动画效果
- 基础技术篇 7 —— NB-IoT技术(二)
- Android-APP之桌面宠物
- [leetCode刷题笔记]113. Path Sum II
- tomcat在add项目的时候,project facet java version 6.0 is not supported
- R中lines()和abline()函数
- 使用ViewFlipper实现屏幕切换动画效果
- Linux系统编程——特殊进程之僵尸进程
- Java IO 操作基础1---普通文件的相关操作
- git submodule以及被忽略的.gitignore
- Django模型设计详解系列之三
- Spark中RDD转换成DataFrame的两种方式(分别用Java和scala实现)
- 慎用重定向 301
- 送给毕业的歌
- LoggerFactory.getLogger用法