Android ImageSwitcher图片浏览器实例
来源:互联网 发布:动车软件下载 编辑:程序博客网 时间:2024/05/01 16:49
效果图
- 点击图片切换
- 缩略图同样大小显示
- 长按缩略图删除
- 去除标题栏
- 大图原比例显示
MainActivity.java
package com.liuyanzhe.zzu.task16_picture_521;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.GridView;import android.widget.ImageSwitcher;import android.widget.ImageView;import android.widget.SimpleAdapter;import android.widget.Toast;import android.widget.ViewSwitcher;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainActivity extends AppCompatActivity { /*暂存要显示的图片id*/ int[] imagesIds={ R.drawable.cat,R.drawable.cat1, R.drawable.startupwp,R.drawable.dog1, R.drawable.caption,R.drawable.color, }; ImageSwitcher switcher; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout1); /*隐藏标题栏*/ getSupportActionBar().hide(); /*定义一个list,用来接收imagesIds中的数据*/ final List<Map<String,Object>> listItem=new ArrayList<Map<String,Object>>(); /*将数组中的数据转化到list中*/ for (int i=0;i<imagesIds.length;i++){ Map<String,Object> map=new HashMap<String,Object>(); map.put("image",imagesIds[i]); listItem.add(map); } /*获取switcher*/ switcher =(ImageSwitcher)findViewById(R.id.switcher1); /*设置图片切换效果,必须要,否则图片不知道如何切换出来*/ switcher.setFactory(new ViewSwitcher.ViewFactory() { @Override public View makeView() { ImageView imageView=new ImageView(MainActivity.this); imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); imageView.setLayoutParams(new ImageSwitcher.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT )); return imageView; } }); /*创建GridView适配器*/ SimpleAdapter simpleAdapter=new SimpleAdapter(this,listItem,R.layout.cell,new String[]{"image"},new int[]{R.id.image1}); /*获取GridView*/ GridView grid=(GridView)findViewById(R.id.grid1); /*为GridView设置适配器*/ grid.setAdapter(simpleAdapter); /*添加被选中图片的监听器*/ grid.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { /*在switch中显示被选中的图片*/ switcher.setImageResource(imagesIds[i]); } @Override public void onNothingSelected(AdapterView<?> adapterView) { } }); /*单击监听*/ grid.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { /*在switch中显示被单击的图片*/ switcher.setImageResource(imagesIds[i]); } }); /*长按监听*/ grid.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) { Toast.makeText(MainActivity.this,"删除图片",Toast.LENGTH_SHORT).show(); listItem.remove(i); /*创建GridView适配器*/ SimpleAdapter simpleAdapter=new SimpleAdapter(MainActivity.this,listItem,R.layout.cell,new String[]{"image"},new int[]{R.id.image1}); /*获取GridView*/ GridView grid=(GridView)findViewById(R.id.grid1); /*为GridView设置适配器*/ grid.setAdapter(simpleAdapter); return true;//返回false,还会调用onItemClick(单击事件) } }); }}
layout1.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal"> <GridView android:id="@+id/grid1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:horizontalSpacing="10dp" android:verticalSpacing="10dp" android:columnWidth="300dp" android:numColumns="3" /> <ImageSwitcher android:id="@+id/switcher1" 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>
cell.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" > <ImageView android:id="@+id/image1" android:layout_width="80dp" android:layout_height="80dp" android:adjustViewBounds="false" android:padding="10px" android:paddingLeft="10px" android:paddingRight="10px" android:scaleType="fitXY" android:layout_gravity="center_horizontal" /></LinearLayout>
阅读全文
0 0
- Android ImageSwitcher图片浏览器实例
- Android--Gallery与ImageSwitcher制作图片浏览器
- android图片浏览器(一)——ImageSwitcher和Gallery
- android 图片切换 ImageSwitcher
- Android 切换图片ImageSwitcher
- Gallery和ImageSwitcher ---------- 制作图片浏览器
- 使用Gallery和ImageSwitcher制作图片浏览器
- Android 图片切换,ImageSwitcher 学习
- android之ImageSwitcher 图片查看
- Android:ImageSwitcher 图片切换器
- Android ImageSwitcher左右切换图片
- Android中ImageSwitcher详解(注意与图片浏览器的区别)
- Android中ImageSwitcher详解(注意与图片浏览器的区别)
- Android入门(36)——第十三章 使用Gallery和ImageSwitcher制作图片浏览器
- 安卓--图片切换(ImageSwitcher)实例
- Android学习之ImageSwitcher小实例
- Android ImageSwitcher 图片切换 按钮点击切换
- Android UI控件之ImageSwitcher(图片切换)
- linux mysql 主从备份
- app 主题切换库(swift)
- iOS开发,UISlider滑块不灵敏问题以及在UIScrollView上添加Slider造成手势冲突问题心得
- 音视频编解码发展与标准
- 32位机器最大支持开多少个线程?
- Android ImageSwitcher图片浏览器实例
- linux-常用基本命令
- App启动时间统计
- splay模板
- 使用 jQuery 集成的 $.ajax 实现 JSONP 跨域调用
- 如何让程序跑得更快些?——试试Visual Studio中的性能分析工具 (By Jun Guo)
- HuTool工具类
- Filter过滤器
- 快速排序 快速搞定