AndroidUI组件之AdapterViewFilpper

来源:互联网 发布:mac autotools 编辑:程序博客网 时间:2024/04/30 13:58
package com.gc.adapterviewflipperdemo;/** * 功能:自动播放的图片库 * @author Android将军 *//* * 1、AdapterViewFilpper继承了AdapterViewAnimator,它也会 * 显示Adapter提供的多个View组件,但它每次只能显示一个View组件 * ,程序可通过showPrevious()和showNext()方法控制该组件显示 * 上一个、下一个组件。 * 2、AdapterViewFilpper可以在多个View切换过程中使用渐隐渐现的 * 动画效果,除此之外,还可以调用该组件的startFlipping()控制它 * “自动播放”下一个View组件。 * 3、AdapterViewAnimator支持的XML属性: * android:animateFirstView-----------设置显示该组件的第一个View时是否使用动画 * android:inAnimation----------------设置组件显示时使用的动画 * android:loopViews------------------设置循环到最后一个组件后是否自动“转头”到第一个组件 * android:outAnimation---------------设置组件隐藏时使用的动画 * 4、AdapterViewFillper可以额外支持的XML属性: * android:autoStart------------------设置显示该组件是否自动播放 * android:flipInterval---------------设置自动播放的时间间隔 */import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.widget.AdapterViewFlipper;import android.widget.BaseAdapter;import android.widget.ImageView;public class MainActivity extends Activity {private int [] imageIds=new int[]{R.drawable.addresslist1,R.drawable.conference2,R.drawable.daiban3,R.drawable.email4,R.drawable.file5,R.drawable.infrom6,R.drawable.organization7,R.drawable.publicfile8,R.drawable.request9,R.drawable.sign10,R.drawable.task11,R.drawable.work12};private AdapterViewFlipper flipper;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);flipper=(AdapterViewFlipper)findViewById(R.id.flipper);//创建一个BaseAdapter对象,该对象负责提供AdapterViewFlipper所显示的列表项BaseAdapter adapter=new BaseAdapter() {//该方法返回的View代表了每个列表项@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stub//创建一个ImageViewImageView imageView=new ImageView(MainActivity.this);imageView.setImageResource(imageIds[position]);//设置ImageView的缩放类型imageView.setScaleType(ImageView.ScaleType.FIT_XY);//为imageView设置布局参数imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));return imageView;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn imageIds.length;}};flipper.setAdapter(adapter);}public void prev(View source){//显示上一个组件flipper.showPrevious();//停止自动播放flipper.stopFlipping();}public void next(View source){//显示下一个组件flipper.showNext();//停止自动播放flipper.stopFlipping();}public void auto(View source){//开始自动播放flipper.startFlipping();}}
布局文件:
<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"   >  <AdapterViewFlipper      android:id="@+id/flipper"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:flipInterval="5000"      android:autoStart="true"      android:layout_alignParentTop="true"      />  <Button       android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignParentBottom="true"      android:layout_alignParentLeft="true"      android:onClick="prev"      android:text="上一个"      />  <Button       android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignParentBottom="true"      android:layout_centerHorizontal="true"      android:onClick="next"      android:text="下一个"      />  <Button       android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignParentBottom="true"      android:layout_alignParentRight="true"      android:onClick="auto"      android:text="自动播放"      /></RelativeLayout>

效果截图


Demo下载地址:http://download.csdn.net/detail/gc_gongchao/8129893

转载请注明出处:http://blog.csdn.net/android_jiangjun/article/details/25611263

0 0
原创粉丝点击