android 图片预览动画,Android实现仿Windows7图片预览窗格效果

本实例将显示类似于windows7提供的图片预览窗格效果,单击任意一张图片,可以在右侧显示该图片的预览效果。

效果如图所示:

891c51432d8c1d89c2c749ba60b78daf.png

具体实现方法:

res/layout/main.xml:

android:orientation="horizontal"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:id="@+id/layout1"

>

android:layout_height="match_parent"

android:layout_width="440px"

android:layout_marginTop="10px"

android:horizontalSpacing="3px"

android:verticalSpacing="3px"

android:numColumns="3"/>

android:id="@+id/imageSwitcher1"

android:padding="10px"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

MainActivity:

package com.example.test;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.view.ViewGroup.LayoutParams;

import android.view.animation.AnimationUtils;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.BaseAdapter;

import android.widget.GridView;

import android.widget.ImageSwitcher;

import android.widget.ImageView;

import android.widget.ViewSwitcher.ViewFactory;

public class MainActivity extends Activity {

private int[] imageId=new int []{R.drawable.img1,R.drawable.img2,R.drawable.img3,R.drawable.img4,

R.drawable.img5,R.drawable.img6,R.drawable.img7,R.drawable.img8,R.drawable.img9};

private ImageSwitcher imageSwitcher;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

imageSwitcher=(ImageSwitcher)findViewById(R.id.imageSwitcher1);//获取图像切换器

//设置动画效果

imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));//设置淡入动画

imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));//设置淡出动画

imageSwitcher.setFactory(new ViewFactory() {

@Override

public View makeView() {

//实例化一个ImageView对象

ImageView imageView=new ImageView(MainActivity.this);

//设置保持纵横比居中缩放图像

imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);

imageView.setLayoutParams(new ImageSwitcher.LayoutParams(

LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

return imageView;//返回imageView对象

}

});

imageSwitcher.setImageResource(R.drawable.img3);//设置默认显示的图像

GridView gridview=(GridView)findViewById(R.id.gridView1);

BaseAdapter adapter=new BaseAdapter(){

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ImageView imageView = null;//声明一个ImageView对象

if(convertView==null){

imageView=new ImageView(MainActivity.this);//实例化ImageView对象

/****************设置图像的宽度和高度*******************/

imageView.setAdjustViewBounds(true);

imageView.setMaxWidth(150);

imageView.setMaxHeight(113);

/*********************************************************/

imageView.setPadding(5, 5, 5, 5);

}else{

imageView=(ImageView)convertView;

}

imageView.setImageResource(imageId[position]);

return imageView;

}

//功能:获得当前选项的id

@Override

public long getItemId(int position) {

return position;

}

//功能:获得当前选项

@Override

public Object getItem(int position) {

return position;

}

//获得数量

@Override

public int getCount() {

return imageId.length;

}

};

gridview.setAdapter(adapter);

gridview.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view, int position,

long id) {

//显示选中的照片

imageSwitcher.setImageResource(imageId[position]);

}

});

}

}

运行效果与开头描述相同,成功实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

得到品控手册_得到品控手册 一本令人惊喜的说明书

2020 / 08 / 26 星期三文 | 非一工厂里生产螺丝,零件,都有模子,每个一模一样,非常标准。写文章、培训、制作课程,炒菜,这些带有主观性,创造性的事,感觉很难标准化,不容…

android发送点击事件,Android 模拟发送事件

所有的事件一览图片.png一、TrackBall 事件定义:等同于连续点击左右按键。格式: roll (Default : trackball)参数: dx 为横向移动偏移量,dy 为纵向的。使用实例:向下滚动一项 input roll 0 1 input trackball 0 1图片…

android 电池电量显示不正常,vivo电量显示不正常怎么解决?vivo手机电量校准教程...

vivo手机用了一段时间会发现,手机电量显示会出现不准确的情况,明明刚充满电不到10分钟,仅剩50%电量;或者充电一晚上,电量仍然显示为70%,无法充满。小伙伴们稍安勿躁,这并不是电池本身出了问题&a…

蒙特卡洛方法_【每日一题56】蒙特卡洛方法 用试验所得的频率估计事件发生概率...

关注“中考数学当百荟”,感谢您的支持!点击“了解更多”56.将两个圆形纸片(半径都为1)如图重叠水平放置(两圆相互过对方的圆心),向该区域随机投掷骰子,求骰子落在重叠区域(阴影部分)的概率.关注“中考数学当百荟”&…

android scrollview居中,使用 HorizontalScrollView 实现滚动控制

功能要求是屏幕上固定显示 3 个 Layout 项(图片文字),支持点击切换到选择的 Layout 项,并支持滑动切换到最近的 Layout 项。最后的效果如下:下面逐步上代码:布局文件 activity_main.xml 如下:xmlns:tools"http://…

系统鸿蒙生态链,任正非透露鸿蒙系统细节,比安卓速度快60%,两三年建好生态链...

原标题:任正非透露鸿蒙系统细节,比安卓速度快60%,两三年建好生态链华为鸿蒙系统自被曝光以来,就引起全球媒体极大关注。关于鸿蒙系统的相关细节,目前大多只限于猜测和知情人士透露的些许信息。不过,近期华为…

数值传热学陶文铨pdf_西安交大陶文铨当选“2019最美科技工作者”

未来网高校频道8月12日讯(记者 杨子健 通讯员 张玥)近日,由中央宣传部、中国科学技术协会、中华人民共和国科学技术部、中国科学院、中国工程院、国家国防科技工业局联合开展“最美科技工作者”学习宣传活动,共遴选出10位2019年“最美科技工作者”。据了…

mysql load data infile 导入数据 某一列 空_Sql数据挑战赛amp;网络销售案例分析

SQL挑战赛第一期:1: 编写一个查询&#xff0c;列出员工姓名列表&#xff0c;员工每月工资超过2000美元且员工工作时间少于10个月。通过提升employee_id对结果进行排序select name from employee where salary > 2000 and months < 10 order by employee_id;2: 查询 Emplo…

html项目列表页面源码,HTML 列表

HTML 列表HTML 支持有序、无序和定义列表:HTML 列表有序列表第一个列表项第二个列表项第三个列表项无序列表列表项列表项列表项在线实例无序列表本例演示无序列表。有序列表本例演示有序列表。(可以在本页底端找到更多实例。)HTML无序列表无序列表是一个项目的列表&#xff0c;…

html用转义字符画菱形,JavaScript生成字符画(ASCII Art)

今天玩一些新的东西&#xff0c;大家都没有看过这样的视频&#xff1a;或者 这样的图片&#xff1a;网上有很多生成这种图片/视频的工具&#xff0c;但是每个程序员都有一颗造轮子的心&#xff0c;我们当然要玩出自己的花样啦。老规矩&#xff0c;还是先讲原理&#xff0c;建议…

微信更新对html影响,微信再次大更新 将极大影响用户使用习惯

[导读]微信再次迎来历史性大更新&#xff0c;小程序终于展露腾讯野心&#xff01;微信再次迎来历史性大更新&#xff0c;小程序终于展露腾讯野心!...微信小程序桌面在昨日1月22日晚&#xff0c;微信更新7.0.3版本&#xff0c;腾讯在App Store中只表示&#xff1a;本次是一次小更…

什么叫pmt测试分析_RVS — 面向目标硬件的软件性能测试工具

Rapita Verification Suite(简称&#xff1a;RVS)&#xff0c;为英国Rapita Systems公司提供的一款嵌入式系统在板测试套件。其产品符合ISO-26262、IEC-61508等行业标准&#xff0c;兼容Vxworks、Linux、SYSBIOS 等操作系统&#xff0c;支持C、C、Ada多种语言&#xff0c;多方位…

版本不见了_王者荣耀复古版本来袭?第四代主宰形象回归!可以给小兵加速

山河不足重&#xff0c;重在遇知已。好久不见&#xff0c;别来无恙来自小助理的文章推送~时值中秋&#xff0c;先祝大家中秋节快乐&#xff01;王者荣耀的新版本即将上线&#xff0c;不知道大家还记不记得新版本将会上线很多新的东西&#xff0c;峡谷路线更改&#xff0c;鼓励同…

python从小到大的顺序输出_「小白专栏」Python中使用for循环,为什么输出结果不是按顺序?...

欢迎各位小哥哥小姐姐阅读本的文章,对大家学习有帮助,请点赞加关注哦!!!!!!!!!!您的点赞和关注将是我持续更新的动力呢.^v^有不懂的问题可以私聊我哦!前言如图&#xff0c;为什么输出的不是按Jen, Sarah, Phil, Edward的顺序呢&#xff1f;大家可以先想想为什么&#xff1f;思考…

雷库兹韦尔量子计算机,熬到2045年,人类可能靠人工智能战胜死亡了

这几天差评君在网上冲浪的时候&#xff0c;无意间挖到了这一张坟图。虽然这已经是五六年前的老梗了&#xff0c;但依旧今人唏嘘不已&#xff0c;毕竟这些年来的技术发展真的是又快又粗暴。让人不由得想像公知们一样阴阳怪气一番&#xff1a;科技啊&#xff0c;请你慢些走&#…

elxel表格纸张尺寸_一本书的诞生:纸张知识

平张纸的数量以令来计算&#xff0c;不论纸张(百科)大小&#xff0c;每500张为一令。卷筒纸的数量通常以吨来计算&#xff0c;即用重量来反映数量。单张纸的重量以每平方米的克重来表示&#xff0c;单位是gsm&#xff0c;即g&#xff0f;m2&#xff0c;如果说80g的纸,就是每平方…

追加的英文计算机,Latex同时添加中英文摘要

注重版权&#xff0c;若要转载烦请附上作者和链接作者&#xff1a;Joshua_yi链接&#xff1a;https://blog.csdn.net/weixin_44984664/article/details/106168468哎&#xff0c;已经步入了开始写论文的年纪了&#xff0c;从之前的上传作业也慢慢变成了上交论文第一次用latex这玩…

React 路由

引言 在我们之前写的页面当中&#xff0c;用我们的惯用思维去思考的话&#xff0c;可能会需要写很多的页面&#xff0c;例如做一个 tab 栏&#xff0c;我们可能会想每个选项都要对应一个 HTML 文件&#xff0c;这样会很麻烦&#xff0c;甚至不友好&#xff0c;我们把这种称为 …

清华大学06届 计算机王煜,祝贺!这两位三年前从超银中学毕业的学霸,今年被清华大学“破格”录取啦...

青岛日报社/观海新闻8月13日讯 今年是“强基计划”首年招生&#xff0c;“强基计划”属于单独批次录取&#xff0c;也是高考所有批次录取中最早公布结果的&#xff0c;一经录取&#xff0c;就不再参加后续高考志愿录取投档。观海新闻记者从超银中学获悉&#xff0c;青岛二中今年…

jmeter web服务器协议,【JMeter4.0学习(三)】之SoapUI创建WebService接口模拟服务端以及JMeter测试SOAP协议性能测试脚本开发(示例代码)...

目录&#xff1a;【阐述】&#xff1a;首先应该遇到了一个共同的问题&#xff0c;JMeter3.2之后就没有WebService(SOAP) Request,后来经过查询网上资料得知其实可以用HTTP请求来操作&#xff0c;结果是一样的。【步骤】&#xff1a;一、创建WebService接口模拟服务端如果大家有…