<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:gravity="center_horizontal"> <!-- 定义一个GrIDVIEw组件 --> <GrIDVIEw androID:ID="@+ID/grID01" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:horizontalSpacing="2dp" androID:verticalSpacing="2dp" androID:numColumns="4" androID:gravity="center"/> <!-- 定义一个ImageSwitcher组件 --> <ImageSwitcher androID:ID="@+ID/switcher" androID:layout_wIDth="300dp" androID:layout_height="300dp" androID:layout_gravity="center_horizontal" androID:inAnimation="@androID:anim/fade_in" androID:outAnimation="@androID:anim/fade_out"/></linearLayout>主界面
package com.example.vIEwswitcherimport androID.app.Activityimport androID.os.Bundleimport androID.vIEw.VIEwimport androID.vIEw.VIEwGroup.LayoutParamsimport androID.Widget.*import androID.Widget.VIEwSwitcher.VIEwFactoryimport androID.Widget.AdapterVIEw.OnItemClickListenerimport androID.Widget.AdapterVIEw.OnItemSelectedListenerclass MainActivity : Activity(){ internal var imageIDs = intArrayOf(R.drawable.bomb5, R.drawable.bomb6, R.drawable.bomb7, R.drawable.bomb8, R.drawable.bomb9, R.drawable.bomb10, R.drawable.bomb11, R.drawable.bomb12, R.drawable.bomb13, R.drawable.bomb14, R.drawable.bomb15, R.drawable.bomb16) overrIDe fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentVIEw(R.layout.activity_main) // 创建一个List对象,List对象的元素是Map val ListItems = ArrayList<Map<String, Any>>() for (i in imageIDs.indices) { val ListItem = HashMap<String, Any>() ListItem["image"] = imageIDs[i] ListItems.add(ListItem) } // 获取显示图片的ImageSwitcher val switcher = findVIEwByID<ImageSwitcher>(R.ID.switcher) // 为ImageSwitcher设置图片切换的动画效果 // 使用Lambda表达式创建VIEwFactory,表达式是makeVIEw方法()的方法体 switcher.setFactory { // 创建ImageVIEw对象 val imageVIEw = ImageVIEw(this@MainActivity) imageVIEw.scaleType = ImageVIEw.ScaleType.FIT_CENTER imageVIEw.layoutParams = FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT) // 返回ImageVIEw对象 imageVIEw } // 创建一个SimpleAdapter val simpleAdapter = SimpleAdapter(this, ListItems, R.layout.cell, arrayOf("image"), intArrayOf(R.ID.image1)) // 使用/layout/cell.xml文件作为界面布局 val grID = findVIEwByID<GrIDVIEw>(R.ID.grID01) // 为GrIDVIEw设置Adapter grID.adapter = simpleAdapter // 添加列表项被选中的监听器 grID.onItemSelectedListener = object : OnItemSelectedListener { overrIDe fun onItemSelected(parent: AdapterVIEw<*>, vIEw: VIEw, position: Int, ID: Long) { // 显示当前被选中的图片 switcher.setimageResource(imageIDs[position]) } overrIDe fun onnothingSelected(parent: AdapterVIEw<*>) { } } // 添加列表项被单击的监听器 grID.setonItemClickListener {parent, vIEw, position, ID -> // 显示被单击的图片 switcher.setimageResource(imageIDs[position]) } }}主程序
总结
以上是内存溢出为你收集整理的ImageSwitcher 图片切换器全部内容,希望文章能够帮你解决ImageSwitcher 图片切换器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)