AdapterViewFilpper的功能与用法
来源:互联网 发布:mac用的办公软件 编辑:程序博客网 时间:2024/06/07 23:06
一、介绍
AdapterViewFilpper继承了AdapterViewAnimator,它也会显示Adapter提供的多个View组件,但它每次只能显示一个View组件,程序可通过showPreVious()和showNext()方法控制该组件显示上一个、下一个。
AdapterViewFilpper可以在多个View切换过程中使用渐隐渐显的动画效果。除此之外,还可以通过该组件的startFilpping()控制它“自动播放”下一个View组件。
AdapterViewFilpper的xml属性如下:
下面通过一个实例来示范如何使用。
本实例是一个可以自动播放的图片库,界面上除了包含一个AdapterViewFilpper之外,还有三个按钮,用于控制显示上一张、下一张和自动播放图片。
xml布局文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout 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" android:orientation="vertical" tools:context="com.tony.adapterviewfilppertest.MainActivity"> <AdapterViewFlipper android:id="@+id/flipper" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:flipInterval="1000" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_centerVertical="true"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="上一张"/> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="下一张"/> <Button android:id="@+id/btn3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="自动播放"/> </LinearLayout></LinearLayout>Activity的代码:
package com.tony.adapterviewfilppertest;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterViewFlipper;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private AdapterViewFlipper mAdapterViewFlipper; private Button mBtn1; private Button mBtn2; private Button mBtn3; private int[] imageIds = new int[]{R.drawable.t1, R.drawable.t2, R.drawable.t3, R.drawable.t4, R.drawable.t5, R.drawable.t6, R.drawable.t7, R.drawable.t8, R.drawable.t9, R.drawable.t10}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mAdapterViewFlipper = (AdapterViewFlipper) findViewById(R.id.flipper); mBtn1 = (Button) findViewById(R.id.btn1); mBtn2 = (Button) findViewById(R.id.btn2); mBtn3 = (Button) findViewById(R.id.btn3); mBtn1.setOnClickListener(this); mBtn2.setOnClickListener(this); mBtn3.setOnClickListener(this); mAdapterViewFlipper.setAdapter(new MyAdapter()); } @Override public void onClick(View v) { int ids=v.getId(); switch (ids){ case R.id.btn1: //显示上一个 mAdapterViewFlipper.showPrevious(); //停止自动播放 mAdapterViewFlipper.stopFlipping(); break; case R.id.btn2: //显示下一个 mAdapterViewFlipper.showNext(); //停止自动播放 mAdapterViewFlipper.stopFlipping(); break; case R.id.btn3: //开始自动播放 mAdapterViewFlipper.startFlipping(); break; } } private class MyAdapter extends BaseAdapter { @Override public int getCount() { return imageIds.length; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView=new ImageView(MainActivity.this); imageView.setImageResource(imageIds[position]); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); return imageView; } };}我们主要是通过调用AdapterViewFilpper的showPrevious()、showNext()这两个方法来控制组件显示上一张、下一张,并调用startFilpping()方法控制自动播放。
效果图:
0 0
- AdapterViewFilpper的功能与用法
- Gallery与AdapterViewFilpper
- Notification的功能与用法
- Notification的功能与用法
- Notification的功能与用法
- Notification的功能与用法
- Notification的功能与用法
- 时钟的功能与用法
- Notification的功能与用法
- Notification的功能与用法
- EditText的功能与用法
- EditText的功能与用法
- Android适配器的使用—GridView、Gellery、AdapterViewFilpper
- Android ViewSwitcher 的功能与用法
- Android ViewSwitcher 的功能与用法
- Android ViewSwitcher 的功能与用法
- Android ViewSwitcher 的功能与用法
- android 搜索框的功能与用法
- Monkey总结(二)
- 电路城(www.cirmall.com)— Altium常用库文件(元件库+封装库+常用元器件3D模型)
- iOS学习之Socket使用简明教程- AsyncSocket
- NOIP提高组2005 [路径压缩]过河
- JPA事务和hibernate混合事务研究<一>
- AdapterViewFilpper的功能与用法
- C++编译中出现error C2664 ,error C2440,error 2039的解决方法
- boost智能指针笔记
- 聚类分析中几种算法的比较
- 使用AllTDTLayer在810libs下的问题
- 模版笔记002 - 类模版
- [LeetCode]--49. Group Anagrams
- 【!!!非专业严肃文章】《C++Primer Plus》第一次复习总结(1~4章)【一】
- MyCat简易配置