zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    HDU1029 Ignatius and the Princess IV
    UVA11039 Building designing【排序】
    UVA11039 Building designing【排序】
    POJ3278 HDU2717 Catch That Cow
    POJ3278 HDU2717 Catch That Cow
    POJ1338 Ugly Numbers(解法二)
    POJ1338 Ugly Numbers(解法二)
    UVA532 Dungeon Master
    UVA532 Dungeon Master
    POJ1915 Knight Moves
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5353818.html
Copyright © 2011-2022 走看看