使用ViewFlipper实现屏幕切换动画效果
来源:互联网 发布:约瑟夫问题c语言 编辑:程序博客网 时间:2024/05/01 21:48
</pre><pre name="code" class="java"><span style="font-size:18px;"></span>
<span style="font-size:18px;"></span>
<span style="font-size:18px;">第一步:创建动作文件,放在res下的创建的anim文件夹下:这个例子在我的ADT中全是错误,搞不懂。</span>
<set xmls: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>
第二步:创建活动的布局文件:里面添加了一个ViewFlipper控件。
<?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:layout_width="match_parent" android:layout_height="match_parent"android:id="@+id/flipper" > </ViewFlipper> </LinearLayout>
<p>第三步:创建活动<span style="font-family:Arial;">MainActivity</span><span style="font-family:宋体;">。</span></p><pre name="code" class="java">package com.example.viewflipper;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.ImageView;import android.widget.ViewFlipper;public class MainActivity extends Activity {private ViewFlipper flipper;private int[] resId = {R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); flipper = (ViewFlipper) findViewById(R.id.flipper); // 动态导入的方式为ViewFlipper加入子View。 for(int i=0; i<resId.length; i++){ flipper.addView(getImageView(resId[i])); } // 设置动画效果: flipper.setInAnimation(this,R.anim.left_in); flipper.setOutAnimation(this, R.anim.left_out); // 设置ViewFlipper视图切换的时间间隔 flipper.setFlipInterval(3000);// 3秒 // 开始播放 flipper.startFlipping(); } private ImageView getImageView(int resId){ ImageView image = new ImageView(this); //image.setImageResource(resId);这样不能设置图片宽高 image.setBackgroundResource(resId);// 这样是铺满屏幕 return image; }}
效果图:就是添加的这几张图片一个一个的切换,呵呵。
4. (知识扩展)支持手势滑动的ViewFlipper。
修改Activity文件MainActivity:
package com.example.viewflipper;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MotionEvent;import android.widget.ImageView;import android.widget.ViewFlipper;public class MainActivity extends Activity {private ViewFlipper flipper;private int[] resId = {R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher}; private float startX;// x轴坐标 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); flipper = (ViewFlipper) findViewById(R.id.flipper); // 动态导入的方式为ViewFlipper加入子View。 for(int i=0; i<resId.length; i++){ flipper.addView(getImageView(resId[i])); } // 设置动画效果: // flipper.setInAnimation(this,R.anim.left_in);// 手动滑动时取消这四行 // flipper.setOutAnimation(this, R.anim.left_out); // 设置ViewFlipper视图切换的时间间隔 // flipper.setFlipInterval(3000);// 3秒 // 开始播放 // flipper.startFlipping(); } // 加入手势滑动事件的处理 @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub switch(event){ // 手指点到屏幕上 case MotionEvent.ACTION_DOWN: startX = event.getX(); break; // 手指滑动 case MotionEvent.ACTION_MOVE: // 向右滑动看前一页 if(event.getX() - startX > 100){// 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 ImageView getImageView(int resId){ ImageView image = new ImageView(this); //image.setImageResource(resId);这样不能设置图片宽高 image.setBackgroundResource(resId);// 这样是铺满屏幕 return image; }}
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实现屏幕切换动画效果
- java使用quartz执行任务调度
- 函数版星号图
- Android_RxJava最简单的用法
- struct 的用法
- 详解Android手势
- 使用ViewFlipper实现屏幕切换动画效果
- Exynos4412 IIC总线驱动开发(二)—— IIC 驱动开发
- springMVC 注解扫面顺序问题
- synchronized
- JAVA多线程和并发基础面试问答
- Linux服务器安装VNC总结
- angular 实现全选、反选、个别选择的实现
- Exynos4412 IIC总线驱动开发(一)—— IIC 基础概念及驱动架构分析
- JavaWeb配置数据源连接数据库详解(概念详解+多种情况源代码范例+易出错类型)