ImageSwitcher 图片切换器
- <?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.viewswitcher
- import android.app.Activity
- import android.os.Bundle
- import android.view.View
- import android.view.ViewGroup.LayoutParams
- import android.widget.*
- import android.widget.ViewSwitcher.ViewFactory
- import android.widget.AdapterView.OnItemClickListener
- import android.widget.AdapterView.OnItemSelectedListener
- class 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 图片切换器的更多相关文章
- Android 高级UI设计笔记12:ImageSwitcher图片切换器
1. ImageSwitcher ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果...,颇有感觉啊.做相册一绝 2. 重要方法 setImageURI(Uri ...
- Android 自学之网格试图(GridView)和图片切换器(ImageSwitcher)功能和用法
网格试图(GridView)用于在界面上按行,列分布的方式来显示多个组件. GridView和ListView有共同的父类:AbsListView,因此GridView和ListView具有一定的相似 ...
- Android应用开发学习之图片切换器
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 如果我们要实现类似Windows的照片查看器切换上一张下一张照片的效果,可以使用图片切换器ImageSwitcher ...
- ImageSwitcher (图像切换器,显示图片)
ImageSwitcher继承了ViewSwitcher,主要在切换图片时加入动画效果 使用方法: 1.为ImageSwitcher提供一个ViewFactory,该ViewFactory生成的Vie ...
- 图片切换器(ImageSwitcher)的功能与用法
ImageSwitcher继承了ViewSwitcher,因此它具有与ViewSwitcher相同的特征:可以在切换View组件时使用动画效果.ImageSwitcher继承了ViewSwitcher ...
- 从零開始学android<ImageSwitcher图片切换组件.二十六.>
ImageSwitcher组件的主要功能是完毕图片的切换显示,比如用户在进行图片浏览的时候.能够通过button点击一张张的切换显示的图片,并且使用ImageSwitcher组件在每次切换的时候也能够 ...
- Android学习笔记 ImageSwitcher图片切换组件的使用
activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...
- ImageSwitcher图片切换的简单用例
ImageSwitcher的原理:ImageSwitcher有两个子View:ImageView,当左右滑动的时候,就在这两个ImageView之间来回切换来显示图片 实现左右滑动切换图片 BaseA ...
- Android——ImageSwitcher 图片切换
public class ImageSwitcherActivity extends Activity implements OnClickListener, ViewFactory { ...
随机推荐
- 2013.6.24 - OpenNE第四天
今天晚上跟师兄讨论,这那几篇论文,对于<领域多词表 达翻译对的自动抽取及其应用>那篇,我的感觉是跟实体识别不太吻合.他的大概意思就是先讲所有有可能的多词表达都找出来,然后在用C-value ...
- 牛客NOIP暑期七天营-提高组1 解题报告
https://ac.nowcoder.com/acm/contest/920#question A 构造+双指针 发现m的限制是1e5,而点数是5e4,所以不能构造太多的边,思考一下最短路树的定义. ...
- 0023SpringMVC自定义类型转换器
页面录入的字符串:2019/12/05可以映射到实体的日期属性上,但是如果是录入2019-12-05就会报错400 bad request,想要以2019-12-05日期格式的方式映射到实体的日期属性 ...
- Visual Studio 各版本对应关系
Known Name Version Latest KB / Revision Visual Studio 6 6 Service Pack 6; 6.0.3790.0; VB6.0-KB290887 ...
- docker 进程 转载:https://www.cnblogs.com/ilinuxer/p/6188303.html
今天我们会分析Docker中进程管理的一些细节,并介绍一些常见问题的解决方法和注意事项. 容器的PID namespace(名空间) 在Docker中,进程管理的基础就是Linux内核中的PID名空间 ...
- Linux secureCRT 介绍和安装和优化
修改背景颜色
- 转 Storm JAVA_HOME is incorrectly set.
问题可能有两个原因: 1.在环境变量中未设置JAVA_HOME变量名称. 解决办法: 在环境变量中添加. 或者在storm中的bin文件下有一个storm-config.cmd,使用文本打开,查询JA ...
- 配置asgi来达到能处理websocket
在项目中使用了webscoket进行实时通讯,但是生产环境又使用了django+nginx+uwsgi的部署方式,我们都知道uwsgi并不能处理websocket请求,所以需要asgi服务器来处理we ...
- mysql 函数表
Name Description ABS() Return the absolute value ACOS() Return the arc cosine ADDDATE() Add time val ...
- codevs:2849 素数判定 3:输入一个正整数x(3<=x<=100000),判断x是否是质数,如果是质数则输出信息“prime”,否则输出“composite”。
#include<iostream>#include<cstdio>#include<cmath>using namespace std;int a[2];int ...