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

效果如图所示:

具体实现方法:

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]);

}

});

}

}

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

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

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

  1. android 图片预览动画,Android图片上传实现预览效果

    首先具体分析一下,实现的功能,其中需求分析是必不可少的,需求.逻辑清除之后,再上手写代码,思路会很清晰. 1.多图上传首先得选择图片(这里项目需求是既可以拍照上传也可以从相册中选择) 2.拍照上传很简 ...

  2. android图片做平移动画,Android中用Matrix实现ImageView里的图片平移和缩放动画

    注: 这里说的图片的平移和缩放不是对ImageView整个view进行的,而是对ImageView里面的图片进行的(view本身没有什么变化),所以Android自带的动画效果不能满足需求. 功能点: ...

  3. android加载转圈动画,android 围绕中心旋转动画

    本文主要介绍Android中如何使用rotate实现图片不停旋转的效果.Android 平台提供了两类动画,一类是 Tween 动画,即通过对场景里的对象不断做图像变换(平移.缩放.旋转)产生动画效果 ...

  4. android 那几种动画,Android 动画实现几种方案

    Android 动画实现几种方案 在 Android 的 FrameWork 中,为我们提供三种动画的实现方式:逐帧(Frame)动画.视图/补间动画(View Animation)和属性动画(Pro ...

  5. android 张口逐帧动画,Android中实现一个简单的逐帧动画(附代码下载)

    场景 Android中的逐帧动画,就是由连续的一张张照片组成的动画. 效果 注: 实现 首先准备一组不同表情的照片,放在res/drawable下,然后在此目录下新建动画资源文件fairy.xml 这 ...

  6. Android RatingBar结合属性动画,快速实现 QQ群男女比例分布图效果

    RatingBar介绍 RatingBar作为评分组件,它在实现打分功能的时候确实很方便,并结合了手势触摸事件:RatingBar 的实质是 ProgressBar ,可以看看他的继承关系 java. ...

  7. android 向左滑动动画,Android中的滑动动画

    这是问题所在. 我想从左到右滑动(在下面的代码中从右到左--) 所以请帮我动画(XML动画与此相反)-- (当前任务在按钮单击时正确运行-) 这是源- public class MainActivit ...

  8. Android平移补间动画,Android 补间动画之平移动画TranslateAnimation

    Android动画系列 博客导航: 1.介绍: Android补间动画之平移动画,在实际的开发过程中,其实有好多地方需要用到平移动画,这是对于平移动画的简单介绍. 2.属性 duration 时间 f ...

  9. android 向左滑动动画,Android Activity左边滑出,右边滑入的动画切换

    Activity的切换动画实际上是Android的View Animation(视图动画)中的Tween Animation效果,Tween Animation分为4种动画效果,分别是:alpha ( ...

最新文章

  1. Python CRC32 文件校验
  2. case里面两个条件_Go语言条件语句之 switch 语句
  3. 手机端公告文本回滚(简单的jq代码)
  4. 关于WEB前端开发的工具
  5. kernel 3.2.0 上加入自己的板级文件
  6. Kafka HWLEO概念入门
  7. Javascript特效:简单的匀速平移动画
  8. Linux进程管理命令:nohup、、jobs、fg、bg、ps、kill
  9. 各个排序算法(^_^)
  10. 自动控制系统中的典型环节
  11. 1月1号开始租房一年期到几号_先承认我迷糊。现在请帮忙,租房合同中从7月1日起到次年的几月几日是一年日期?是6月31日还是7月31日...
  12. 《互联网信贷风险与大数据》读书笔记(四)
  13. 人工智能助力三维几何自动化建模
  14. grpc原理及四种实现方式
  15. 函数的应用及其解析大全!
  16. 假装接入阿里云---PC运行mqtt.fx
  17. Python爬虫入门教程06:爬取数据后的词云图制作
  18. 【附PPT下载】2021腾讯广告算法大赛 ACM MM Grand Challenge录用论文揭晓
  19. Linux 网卡配置
  20. 汉诺塔完整代码及分析

热门文章

  1. 面向知识图谱的信息抽取
  2. Redis高可用详解:持久化技术及方案选择
  3. JaveScript运算符(JS知识点归纳三)
  4. PHP中对hmac_sha1签名算法的实现方法
  5. Nginx 反向代理+高可用
  6. UVA3942 Remember the Word
  7. 大公司里怎样开发和部署前端代码
  8. jsonp模拟获取百度搜索相关词汇
  9. 使用 NetDataContractSerializer 共享类型
  10. vs2010 学习Silverlight学习笔记(8):使用用户控件