首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

玩转Android-UI篇-ViewFlipper(兑现切换屏幕效果)

2012-08-31 
玩转Android--UI篇--ViewFlipper(实现切换屏幕效果)ViewFlipper是ViewAnimator的子类,在ViewAnimator子类

玩转Android--UI篇--ViewFlipper(实现切换屏幕效果)

ViewFlipper是ViewAnimator的子类,在ViewAnimator子类下,还有一个ViewSwitcher,这个ViewSwitcher又有两个子类:TextSwitcher和ImageSwitcher。不过今天还是说说ViewFlipper。

?

这个控件可以实现屏幕上下、左右的切换效果,而且可以加上动画特效,当然你可以点击就可以切换了,而用手指划屏其实还是点击操作(只针对这个控件)。该控件每次只能显示一屏

?

公共方法

public bool isAutoStart ()

  如果视图显示到窗口上时会自动调用startFlipping()方法,则返回true

?

public bool isFlipping()

如果子视图正在切换,则返回true

?

public bool setAutoStart (bool autoStart)

设置视图显示到窗口上时是否会自动调用startFlipping()方法

?

public bool setFlipInterval (int milliseconds)

视图间切换的时间间隔

参数

??????????????????? milliseconds ?? 毫秒数

?

public bool startFlipping ()

开始在子视图间定时循环切换

?

public bool stopFlipping ()

   停止切换

?

下面实现一个小例子来看看这个控件到底是怎么用的

main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><ViewFlipper android:layout_height="wrap_content"android:layout_width="match_parent"android:id="@+id/viewFipper01"><include android:id="@+id/layout1" layout="@layout/layout1"/><include android:id="@+id/layout2" layout="@layout/layout2"/></ViewFlipper></LinearLayout>

?这里用到了include标签,学过java web的同学很容易理解,这和jsp页面里的include没啥区别。使用include我们可以把一个大的布局文件拆成多个小的文件,使用include,我们可以复用一些常用布局组合

layout1.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:layout_width="match_parent"  android:layout_height="match_parent">    <ImageView    android:layout_height="wrap_content"    android:layout_width="fill_parent"    android:src="@drawable/ni_png_0120"    />    <TextView    android:layout_height="wrap_content"    android:layout_width="fill_parent"    android:gravity="center"    android:text="乌贼"    android:textSize="20pt"    /></LinearLayout>

?layout2.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:layout_width="match_parent"  android:layout_height="match_parent">    <ImageView    android:layout_height="wrap_content"    android:layout_width="fill_parent"    android:src="@drawable/ni_png_0115"    />    <TextView     android:layout_height="wrap_content"     android:layout_width="fill_parent"     android:gravity="center"     android:text="鱼"     android:textSize="20pt"></TextView></LinearLayout>

?ViewTestActivity.java

package com.view.ViewFlippertest;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.animation.AnimationUtils;import android.widget.ViewFlipper;public class ViewTestActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        final ViewFlipper vf = (ViewFlipper)findViewById(R.id.viewFipper01);        vf.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//点击所在区域即可滑动到下一屏幕vf.showNext();}});        //动画切入,从左边进入        vf.setInAnimation(AnimationUtils.loadAnimation(getApplicationContext(),         android.R.anim.slide_in_left));        //动画切出,从右边离开        vf.setOutAnimation(AnimationUtils.loadAnimation(getApplicationContext(),         android.R.anim.slide_out_right));    }}
?

运行效果如下:


玩转Android-UI篇-ViewFlipper(兑现切换屏幕效果)
?
玩转Android-UI篇-ViewFlipper(兑现切换屏幕效果)

?

公共方法说明参考:http://www.cnblogs.com/over140/archive/2010/12/06/1897439.html

热点排行