想实现一下如京东、淘宝上的滚动条的广告的效果。后来想到官方API的Demo里面我似曾相识。果断运行起来,查找了一下。啊哈,果然有。于是开始研究了一下,实现了一会,就成功了。因为真的很简单。查了网络上的,虽然功能多了点,可是复杂了,有些大神竟然是自定义出来的。
说说我的方法:
首先,总得知道一下ViewFlipper这个东西。
注意一下参数“flipInterval”。这个是设置切换的间隔的。
然后,接下来直接上布局文件中,ViewFlipper的布局设置:
<ViewFlipper
android:id="@+id/flipper"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="#000456"
android:flipInterval="5000" >
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/water1" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/water2" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/water3" />
</ViewFlipper>
可以看得出来里面设置了3张照片的切换。切换间隔是5s。单位是毫秒(PS:程序员都知道)。
接下来就是代码操作:
mFlipper = (ViewFlipper) findViewById(R.id.flipper);
mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
R.anim.push_left_in));
mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
R.anim.push_left_out));
mFlipper.startFlipping();
这段代码直接加到Oncreat()里面就好啦。但是,可能你会发现,里面有多出两个anim的动画文件。这个其实可以不加的,我为了让动画是从右边进左边出。所以加上去的,也可以出上面进下面出。自己设计。
上动画代码,超级简单:
push_left_in.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="300"
android:fromXDelta="100%p"
android:toXDelta="0" />
<alpha
android:duration="300"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
push_left_out.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="300"
android:fromXDelta="0"
android:toXDelta="-100%p" />
<alpha
android:duration="300"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
补充个知识,如何在项目中加动画文件,其实很简单,只要在项目中的Res文件夹下新建一个文件夹anim文件夹,然后把动画文件放进去就可以了。
还是截个图吧。可是这是动画的。似乎我截不来。那还是不了。