AdapterViewFlipper自动播放图片

来源:互联网 发布:北京python工程师工资 编辑:程序博客网 时间:2024/05/20 07:13

xml布局

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    app:layout_behavior="@string/appbar_scrolling_view_behavior"    tools:context="com.example.zhang.adapterviewflipper.MainActivity"    tools:showIn="@layout/activity_main">    <AdapterViewFlipper        android:id="@+id/adapterViewFlipper"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:flipInterval="2000"        android:layout_alignParentTop="true"/>    <Button        android:onClick="prev"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_alignParentLeft="true"        android:text="上一个"/>        <!--注意这里是android:onClick="auto"-->    <Button        android:onClick="auto"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_centerHorizontal="true"        android:text="自动播放"/>    <Button        android:onClick="next"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_alignParentRight="true"        android:text="上一个"/></RelativeLayout>

java代码

package com.example.zhang.adapterviewflipper;import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.Snackbar;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.View;import android.view.Menu;import android.view.MenuItem;import android.view.ViewGroup;import android.widget.AdapterViewFlipper;import android.widget.BaseAdapter;import android.widget.ImageView;public class MainActivity extends AppCompatActivity {    int[] imageIds = new int[]{            R.drawable.baiyang,R.drawable.chunv,R.drawable.jinniu,R.drawable.juxie,            R.drawable.mojie,R.drawable.sheshou,R.drawable.shizi,R.drawable.shuangyu,            R.drawable.shuangzi,R.drawable.shuiping,R.drawable.tiancheng,R.drawable.tianxie    };    private AdapterViewFlipper adapterViewFlipper;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        adapterViewFlipper = (AdapterViewFlipper) findViewById(R.id.adapterViewFlipper);        //创建一个BaseAdapter对象,该对象负责提供Gallery所显示的列表项        BaseAdapter baseAdapter = new BaseAdapter() {            @Override            public int getCount() {//获取imageIds数组的元素数量                return imageIds.length;//返回数组的长度,即数组元素的数量            }            @Override            public Object getItem(int position) {                return position;//返回组件的位置数据            }            @Override            public long getItemId(int position) {                return position;            }            //该方法返回的View代表了每个列表项            @Override            public View getView(int position, View convertView, ViewGroup parent) {                //创建一个ImageView                ImageView imageView = new ImageView(MainActivity.this);                imageView.setImageResource(imageIds[position]);                //设置ImageView的缩放类型                imageView.setScaleType(ImageView.ScaleType.FIT_XY);                //设置ImageView的布局参数                imageView.setLayoutParams(new ViewGroup.LayoutParams                        (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));                return imageView;//返回代表每个列表项的imageView            }        };        adapterViewFlipper.setAdapter(baseAdapter);        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);        fab.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)                        .setAction("Action", null).show();            }        });    }    public void prev(View source)    {        // 显示上一个组件        adapterViewFlipper.showPrevious();        // 停止自动播放        adapterViewFlipper.stopFlipping();    }    public void next(View source)    {        // 显示下一个组件。        adapterViewFlipper.showNext();        // 停止自动播放        adapterViewFlipper.stopFlipping();    }    public void auto(View source)    {        // 开始自动播放        adapterViewFlipper.startFlipping();    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu_main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        //noinspection SimplifiableIfStatement        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }}

效果

0 0
原创粉丝点击