• AndroidUI组件之AdapterViewFilpper


    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;
    	@Override
    	protected 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代表了每一个列表项
    			@Override
    			public View getView(int position, View convertView, ViewGroup parent) {
    				// TODO Auto-generated method stub
    				//创建一个ImageView
    				ImageView 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;
    			}
    			
    			@Override
    			public long getItemId(int position) {
    				// TODO Auto-generated method stub
    				return position;
    			}
    			
    			@Override
    			public Object getItem(int position) {
    				// TODO Auto-generated method stub
    				return position;
    			}
    			
    			@Override
    			public int getCount() {
    				// TODO Auto-generated method stub
    				return 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

  • 相关阅读:
    C#语法相比其它语言比较独特的地方
    Git源码管理工具使用
    2018年第九届蓝桥杯题目(C/C++B组)汇总
    Unity插件系列之二维码
    在本机使用虚拟机安装一个linux系统,并搭建ftp服务器
    用UE4蓝图制作FPS_零基础学虚幻4第二季
    【坦克大战】Unity3D多人在线游戏(泰课的坦克大战--旋转的螺丝钉)
    Drag(拖拽)和Move(移动)两个脚本
    解决:Word在试图打开文件时遇到错误
    2018年的一些记录,共勉
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5353818.html
Copyright © 2020-2023  润新知