• 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()
        }
    }
    主程序
  • 相关阅读:
    如何利用docker制作自己的镜像
    python 获取当前运行的 class 和 方法的名字
    UnitTest-case参数化
    值得推崇的一种图书出版的方式----开源图书
    Django中对数据查询、删除、修改
    wireshark网络实战分析二
    wireshark网络抓包分析
    邮件传输协议实战抓包分析
    socket服务端给客户端发送数据第一次不成功,第二次成功
    转载:Wireshark抓包详解
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/11497414.html
Copyright © 2020-2023  润新知