zoukankan      html  css  js  c++  java
  • AdapterViewFlipper

    使用AdapterViewFiller组件设置图片轮播,该组件可以自动切换view

    <?xml version="1.0" encoding="utf-8" ?>
    <RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            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:layout_alignParentTop="true"/>
        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentStart="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_alignParentEnd="true"
                android:onClick="auto"
                android:text="自动播放"/>
    </RelativeLayout>
    界面代码
    package com.example.adapterviewflipper
    
    import android.support.v7.app.AppCompatActivity
    import android.os.Bundle
    import android.view.View
    import android.view.ViewGroup
    import android.widget.AdapterViewFlipper
    import android.widget.BaseAdapter
    import android.widget.ImageView
    
    class MainActivity : AppCompatActivity() {
    
        private var imageIds = intArrayOf(R.drawable.shuangzi, R.drawable.shuangyu,
            R.drawable.chunv, R.drawable.tiancheng, R.drawable.tianxie,
            R.drawable.sheshou, R.drawable.juxie, R.drawable.shuiping,
            R.drawable.shizi, R.drawable.baiyang, R.drawable.jinniu, R.drawable.mojie)
        private var flipper: AdapterViewFlipper? = null
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            flipper = findViewById(R.id.flipper)
            // 创建一个BaseAdapter对象,该对象负责提供AdapterViewFlipperTest所显示的列表项
            val adapter = object : BaseAdapter()
            {
                override fun getCount(): Int
                {
                    return imageIds.size
                }
    
                override fun getItem(position: Int): Any
                {
                    return position
                }
    
                override fun getItemId(position: Int): Long
                {
                    return position.toLong()
                }
    
                // 该方法返回的View代表了每个列表项
                override fun getView(position: Int, convertView: View?, parent: ViewGroup): View
                {
                    val imageView: ImageView
                    if (convertView == null)
                    {
                        // 创建一个ImageView
                        imageView = ImageView(this@MainActivity)
                        imageView.setImageResource(imageIds[position])
                        // 设置ImageView的缩放类型
                        imageView.scaleType = ImageView.ScaleType.FIT_XY
                        // 为imageView设置布局参数
                        imageView.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)
                    }
                    else
                    {
                        imageView = convertView as ImageView
                    }
                    return imageView
                }
            }
            flipper!!.adapter = adapter
        }
    
        fun prev(source: View)
        {
            // 显示上一个组件
            flipper!!.showPrevious()
            // 停止自动播放
            flipper!!.stopFlipping()
        }
    
        fun next(source: View)
        {
            // 显示下一个组件。
            flipper!!.showNext()
            // 停止自动播放
            flipper!!.stopFlipping()
        }
    
        fun auto(source: View)
        {
            // 开始自动播放
            flipper!!.startFlipping()
        }
    }
    主程序
  • 相关阅读:
    886C. Petya and Catacombs#墓室探险(set集合)
    uc/os调度机制深度解析
    总结使用QObject实现线程
    日常总结--c++常量的深入理解
    数据结构与算法--跳跃链表
    java下输出中文的一点研究
    java使用readUTF()读取中文抛出EOFException异常的处理方法
    java连接5.1以上的mysql出现问题---The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone.
    Qt入门便遇到坑--向QMainWindow类及其子类中添加布局
    linux_4.19内核编译总结
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/11497414.html
Copyright © 2011-2022 走看看