Android实现仿Windows7图片预览窗格效果

Android实现仿Windows7图片预览窗格效果,第1张

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

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

效果如图所示:

具体实现方法:
res/layout/main.xml:

<?xml version="1.0" enCoding="utf-8"?> <linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"  androID:orIEntation="horizontal"  androID:layout_wIDth="fill_parent"  androID:layout_height="fill_parent"  androID:ID="@+ID/layout1"  >  <GrIDVIEw androID:ID="@+ID/grIDVIEw1"   androID:layout_height="match_parent"   androID:layout_wIDth="440px"   androID:layout_margintop="10px"   androID:horizontalSpacing="3px"   androID:verticalSpacing="3px"   androID:numColumns="3"/>  <!-- 添加一个图像切换器 -->  <ImageSwitcher   androID:ID="@+ID/imageSwitcher1"   androID:padding="10px"   androID:layout_wIDth="match_parent"   androID:layout_height="match_parent"/> </linearLayout> 

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);     }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实现仿Windows7图片预览窗格效果全部内容,希望文章能够帮你解决Android实现仿Windows7图片预览窗格效果所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1143232.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存