用户界面View之ViewFlipper
来源:互联网 发布:fpga经典书籍 知乎 编辑:程序博客网 时间:2024/05/22 12:00
放弃该放弃的是无奈,放弃不该放弃的是无能,不放弃该放弃的是无知,不放弃不该放弃的是执著!
本讲内容:ViewFlipper 多页面管理控件
一、ViewFlipper 常用方法
setInAnimation: 设置View进入屏幕时候使用的动画
setOutAnimation: 设置View退出屏幕时候使用的动画
showNext: 调用该函数来显示ViewFlipper里面的下一个View
showPrevious: 调用该函数来显示ViewFlipper里面的上一个View
setFilpInterval: 设置View之间切换的时间间隔
startFlipping: 启动设置好的时间间隔来开始切换所有的View,切换会循环进行
stopFlipping: 停止View切换
示例一:利用ViewFlipper实现图片轮播
下面是res/layout/activity_main.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" > <ViewFlipper android:id="@+id/id_flipper" android:layout_width="match_parent" android:layout_height="match_parent" /></RelativeLayout>
下面是res/anim/left_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" /> <alpha android:duration="2000" android:fromAlpha="0.5" android:toAlpha="1" /></set>
下面是res/anim/left_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" /> <alpha android:duration="2000" android:fromAlpha="0.5" android:toAlpha="1" /></set>
下面是res/anim/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" /> <alpha android:duration="2000" android:fromAlpha="0.5" android:toAlpha="1" /></set>
下面是res/anim/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" /> <alpha android:duration="2000" android:fromAlpha="0.5" android:toAlpha="1" /></set>
下面是MainActivity.java主界面文件:
public class MainActivity extends Activity {private ViewFlipper flipper;private int[] resId={R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4};protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);flipper=(ViewFlipper) findViewById(R.id.id_flipper);//ViewFlipper动态添加子Viewfor(int i=0;i<resId.length;i++){flipper.addView(getImageView(resId[i]));}flipper.setInAnimation(this,R.anim.left_in);;flipper.setOutAnimation(this, R.anim.right_out);flipper.setFlipInterval(2000);flipper.startFlipping();}/** * 获取一个ImageView对象 */private ImageView getImageView(int resId){ImageView image=new ImageView(this);//image.setImageResource(resId);//由图片大小显示image.setBackgroundResource(resId);//全屏显示return image;}}
示例二:支持手势滑动的ViewFlipper
下面是MainActivity.java主界面文件:
public class MainActivity extends Activity {private ViewFlipper flipper;private float startX;//手指接触屏幕时X坐标private int[] resId={R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4};protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);flipper=(ViewFlipper) findViewById(R.id.id_flipper);//ViewFlipper动态添加子Viewfor(int i=0;i<resId.length;i++){flipper.addView(getImageView(resId[i]));}}/** * 获取一个ImageView对象 */private ImageView getImageView(int resId){ImageView image=new ImageView(this);image.setBackgroundResource(resId);//全屏显示return image;}/** * 屏幕手势滑动方法 */public boolean onTouchEvent(MotionEvent event) {switch (event.getAction()) {//手指落下case MotionEvent.ACTION_DOWN:startX=event.getX();break;//手指滑动case MotionEvent.ACTION_MOVE:break;//手指离开case MotionEvent.ACTION_UP://向右滑动(50是一段很短的距离)if(event.getX()-startX>50){ flipper.setInAnimation(this, R.anim.left_in); flipper.setOutAnimation(this, R.anim.right_out); flipper.showNext();}//向左滑动if(startX-event.getX()>50){ flipper.setInAnimation(this, R.anim.right_in); flipper.setOutAnimation(this, R.anim.left_out); flipper.showPrevious();}break;}return super.onTouchEvent(event);}}
Take your time and enjoy it
1 0
- 用户界面View之ViewFlipper
- android用户界面之ViewFlipper教程实例汇总
- 用户界面View之CheckBox
- 用户界面View之RadioButton
- 用户界面View之Spinner
- 用户界面View之AutoCompleteTextView
- 用户界面View之Layout
- 用户界面View之GridView
- 用户界面View之Chronometer
- 用户界面View之PopupWindow
- 用户界面View之EditText
- 用户界面View之WebView
- 用户界面View之ProgressBar
- 用户界面View之ViewGroup
- 用户界面View之ScrollView
- 用户界面View之Gallery
- 用户界面之view
- 用户界面之 view 二
- ACM-田忌赛马(king VS king)
- 第40讲--项目五--年龄几何
- 第九章与运行环境交互2015-05-26
- 求两个数组的交集
- vs2010断点无效
- 用户界面View之ViewFlipper
- IP地址判断有效性
- c#的List
- 第六章
- 149Max Points on a Line
- 第12周项目3-日期时间类
- Xib的两种加载方式,与xib建立关系的两种方式
- Set集合
- 十一周——继承与派生——项目四 圆的关系