Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 625|回复: 0

[实例教程]android相册超炫效果

[复制链接]

该用户从未签到

发表于 2011-10-22 12:59:06 | 显示全部楼层 |阅读模式
实现了图片的倒影效果还不够,因为在coverflow中图片切换是有旋转和缩放效果的,而自带的gallery中并没有实现。因此,我们扩展自带的 gallery,实现自己的galleryflow。在原gallery类中,提供了一个方法 getChildStaticTransformation()以实现对图片的变换。我们通过覆写这个方法并在其中调用自定义的 transformImageBitmap(“每个图片与gallery中心的距离”)方法,,即可实现每个图片做相应的旋转和缩放。其中使用了 camera和matrix用于视图变换。具体可参考代码注释。

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout_gallery);
    Integer[] images = { R.drawable.img0001, R.drawable.img0030,
    R.drawable.img0100, R.drawable.img0130, R.drawable.img0200,
    R.drawable.img0230, R.drawable.img0300, R.drawable.img0330,
    R.drawable.img0354 };
    ImageAdapter adapter = new ImageAdapter(this, images);
    adapter.createReflectedImages();
    GalleryFlow galleryFlow = (GalleryFlow) findViewById(R.id.gallery_flow);
    galleryFlow.setAdapter(adapter);
    }

可以看出来这样实现的gallery锯齿问题比较严重。可以在createReflectedImages()使用以下代码:

    BitmapDrawable bd = new BitmapDrawable(bitmapWithReflection);
    bd.setAntiAlias=true;
    …

然后用iv.setImageDrawable(bd); 代替 iv.setImageBitmap(bitmapWithReflection); 即可基本消除锯齿。

ImageAdapter有待确定的MemoryLeak问题,貌似的Bitmap的decode方法会造成ML,使用ImageAdapter时多次旋转屏幕后会出现OOM。目前可以通过将使用完毕的bimap调用recycle()方法和设置null并及时调用system.gc()得到一些改善,但是问题并不明显
回复

使用道具 举报

该用户从未签到

发表于 2011-10-22 12:59:12 | 显示全部楼层
图片呢????
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-9-21 07:54 , Processed in 0.375364 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表