Android5.0过渡动画,请看

http://blog.csdn.net/qq_16131393/article/details/51112772

今天用分享动画实现微信点击全屏效果

本文源代码下载地址

http://pan.baidu.com/s/1dFbNZv7

peizhi

配置 build.gradle:

  compile 'com.android.support:recyclerview-v7:23.3.0'compile 'com.squareup.picasso:picasso:2.3.2'

在主页加入RecylerView

 @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);recyclerView = (RecyclerView) findViewById(R.id.recylerview);recyclerView.setHasFixedSize(true);recyclerView.setLayoutManager(new GridLayoutManager(this, 3));recyclerView.setAdapter(adapter = new PicassoAdapter(this));adapter.replaceAll(getData());}private ArrayList<String> getData() {ArrayList<String> list = new ArrayList<>();for (int i = 0; i < ImageUtil.imageUrls.length; i++) {list.add(ImageUtil.imageUrls[i]);}return list;}

初始化数据:

package com.example.wangchang.testpicasso;/*** Created by WangChang on 2016/4/3.*/
public class ImageUtil {public final static String[] imageUrls = new String[]{"https://img-my.csdn.net/uploads/201508/05/1438760758_3497.jpg","https://img-my.csdn.net/uploads/201508/05/1438760758_6667.jpg","https://img-my.csdn.net/uploads/201508/05/1438760757_3588.jpg","https://img-my.csdn.net/uploads/201508/05/1438760756_3304.jpg","https://img-my.csdn.net/uploads/201508/05/1438760755_6715.jpeg","https://img-my.csdn.net/uploads/201508/05/1438760726_5120.jpg","https://img-my.csdn.net/uploads/201508/05/1438760726_8364.jpg","https://img-my.csdn.net/uploads/201508/05/1438760725_4031.jpg","https://img-my.csdn.net/uploads/201508/05/1438760724_9463.jpg","https://img-my.csdn.net/uploads/201508/05/1438760724_2371.jpg","https://img-my.csdn.net/uploads/201508/05/1438760707_4653.jpg","https://img-my.csdn.net/uploads/201508/05/1438760706_6864.jpg","https://img-my.csdn.net/uploads/201508/05/1438760706_9279.jpg","https://img-my.csdn.net/uploads/201508/05/1438760704_2341.jpg","https://img-my.csdn.net/uploads/201508/05/1438760704_5707.jpg","https://img-my.csdn.net/uploads/201508/05/1438760685_5091.jpg","https://img-my.csdn.net/uploads/201508/05/1438760685_4444.jpg","https://img-my.csdn.net/uploads/201508/05/1438760684_8827.jpg","https://img-my.csdn.net/uploads/201508/05/1438760683_3691.jpg","https://img-my.csdn.net/uploads/201508/05/1438760683_7315.jpg","https://img-my.csdn.net/uploads/201508/05/1438760663_7318.jpg","https://img-my.csdn.net/uploads/201508/05/1438760662_3454.jpg","https://img-my.csdn.net/uploads/201508/05/1438760662_5113.jpg","https://img-my.csdn.net/uploads/201508/05/1438760661_3305.jpg","https://img-my.csdn.net/uploads/201508/05/1438760661_7416.jpg","https://img-my.csdn.net/uploads/201508/05/1438760589_2946.jpg","https://img-my.csdn.net/uploads/201508/05/1438760589_1100.jpg","https://img-my.csdn.net/uploads/201508/05/1438760588_8297.jpg","https://img-my.csdn.net/uploads/201508/05/1438760587_2575.jpg","https://img-my.csdn.net/uploads/201508/05/1438760587_8906.jpg","https://img-my.csdn.net/uploads/201508/05/1438760550_2875.jpg","https://img-my.csdn.net/uploads/201508/05/1438760550_9517.jpg","https://img-my.csdn.net/uploads/201508/05/1438760549_7093.jpg","https://img-my.csdn.net/uploads/201508/05/1438760549_1352.jpg","https://img-my.csdn.net/uploads/201508/05/1438760548_2780.jpg","https://img-my.csdn.net/uploads/201508/05/1438760531_1776.jpg","https://img-my.csdn.net/uploads/201508/05/1438760531_1380.jpg","https://img-my.csdn.net/uploads/201508/05/1438760530_4944.jpg","https://img-my.csdn.net/uploads/201508/05/1438760530_5750.jpg","https://img-my.csdn.net/uploads/201508/05/1438760529_3289.jpg","https://img-my.csdn.net/uploads/201508/05/1438760500_7871.jpg","https://img-my.csdn.net/uploads/201508/05/1438760500_6063.jpg","https://img-my.csdn.net/uploads/201508/05/1438760499_6304.jpeg","https://img-my.csdn.net/uploads/201508/05/1438760499_5081.jpg","https://img-my.csdn.net/uploads/201508/05/1438760498_7007.jpg","https://img-my.csdn.net/uploads/201508/05/1438760478_3128.jpg","https://img-my.csdn.net/uploads/201508/05/1438760478_6766.jpg","https://img-my.csdn.net/uploads/201508/05/1438760477_1358.jpg","https://img-my.csdn.net/uploads/201508/05/1438760477_3540.jpg","https://img-my.csdn.net/uploads/201508/05/1438760476_1240.jpg","https://img-my.csdn.net/uploads/201508/05/1438760446_7993.jpg","https://img-my.csdn.net/uploads/201508/05/1438760446_3641.jpg","https://img-my.csdn.net/uploads/201508/05/1438760445_3283.jpg","https://img-my.csdn.net/uploads/201508/05/1438760444_8623.jpg","https://img-my.csdn.net/uploads/201508/05/1438760444_6822.jpg","https://img-my.csdn.net/uploads/201508/05/1438760422_2224.jpg","https://img-my.csdn.net/uploads/201508/05/1438760421_2824.jpg","https://img-my.csdn.net/uploads/201508/05/1438760420_2660.jpg","https://img-my.csdn.net/uploads/201508/05/1438760420_7188.jpg","https://img-my.csdn.net/uploads/201508/05/1438760419_4123.jpg",};
}

配置Adapter

package com.example.wangchang.testpicasso;import android.app.Activity;
import android.app.ActivityOptions;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;import com.squareup.picasso.Picasso;
import com.squareup.picasso.Target;
import com.squareup.picasso.Transformation;import java.util.ArrayList;/*** Created by WangChang on 2016/4/10.*/
public class PicassoAdapter extends RecyclerView.Adapter<PicassoAdapter.BaseViewHolder> {private ArrayList<String> dataList = new ArrayList<>();private Context context;public PicassoAdapter(Context context) {this.context = context;}public void replaceAll(ArrayList<String> list) {dataList.clear();if (list != null) {dataList.addAll(list);}notifyDataSetChanged();}@Overridepublic PicassoAdapter.BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {return new ImageViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false));}@Overridepublic void onBindViewHolder(PicassoAdapter.BaseViewHolder holder, int position) {holder.setData(dataList.get(position));}@Overridepublic int getItemCount() {return dataList != null ? dataList.size() : 0;}public class BaseViewHolder extends RecyclerView.ViewHolder {public BaseViewHolder(View itemView) {super(itemView);}void setData(Object data) {}}private class ImageViewHolder extends BaseViewHolder implements Target {private ImageView imageView;public ImageViewHolder(View view) {super(view);imageView = (ImageView) view.findViewById(R.id.image);}@Overridevoid setData(Object data) {super.setData(data);if (data != null) {final String path = (String) data;Picasso.with(itemView.getContext()).load(path).resize(200, 200).into(imageView);itemView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(itemView.getContext(), OtherActivity.class);intent.putExtra("flag", path);context.startActivity(intent, ActivityOptions.makeSceneTransitionAnimation((Activity) itemView.getContext(), v, "share").toBundle());}});}}@Overridepublic void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {bitmap = new CropSquareTransformation().transform(bitmap);imageView.setImageBitmap(bitmap);}@Overridepublic void onBitmapFailed(Drawable errorDrawable) {}@Overridepublic void onPrepareLoad(Drawable placeHolderDrawable) {}}public class CropSquareTransformation implements Transformation {@Overridepublic Bitmap transform(Bitmap source) {int size = Math.min(source.getWidth(), source.getHeight());int x = (source.getWidth() - size) / 2;int y = (source.getHeight() - size) / 2;Bitmap result = Bitmap.createBitmap(source, x, y, size, size);if (result != source) {source.recycle();}return result;}@Overridepublic String key() {return "square()";}}
}

详情页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"><ImageView
        android:id="@+id/iv_image"android:layout_width="200dp"android:layout_height="200dp"android:layout_gravity="center_horizontal"android:layout_marginTop="100dp"android:scaleType="fitXY"android:src="@mipmap/ic_launcher"android:transitionName="share" /><TextView
        android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:layout_marginTop="24dp"android:text="用户姓名"android:textSize="18sp"android:textStyle="bold" /><TextView
        android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="24dp"android:text="你是我的小呀小苹果,你是我的小呀小苹果,你是我的小呀小苹果,你是我的小呀小苹果你是我的小呀小苹果,你是我的小呀小苹果" />
</LinearLayout>

效果图

主要是加入分享元素android:transitionName=”share”。在列表页和详情页的xml的ImageView布局文件里。

终于效果

本效果仅仅支持API21+。大家要想实现这个效果的能够參考一下。

转载于:https://www.cnblogs.com/llguanli/p/8757090.html

Android学习之Android 5.0分享动画实现微信点击全屏效果相关推荐

  1. android 点击图片动画效果,Android仿微信图片点击全屏效果

    废话不多说,先看下Android图片点击全屏效果: 先是微信的 再是模仿的 先说下实现原理,再一步步分析 这里总共有2个Activity一个就是主页,一个就是显示我们图片效果的页面,参数通过Inten ...

  2. android webview 横竖屏_webview播放视频并且点击全屏横屏的方法

    title: webview播放视频并且点击全屏横屏的方法 date: 2016-11-28 10:33:27 tags: tips 首先initWebView,好吧有点多,有些是项目里其他需求需要的 ...

  3. android点击全屏预览照片第三方库使用

    android点击全屏预览照片第三方库使用-imgepreviewlibrary aiprose 个人随笔上线,网址 aiprose.com 点击访问 移动端我们经常会遇到放大预览照片,如果是一张照片 ...

  4. Android 学习 之 Android 4.0 平台

    [size=large]转转转,感谢饿哦额Android的各位大侠,在这里谢过,我这里做个备份,嘿嘿!! http://www.eoeandroid.com/thread-103300-1-1.htm ...

  5. Android学习之Android历史

    一个优点:无论学习什么之前都要了解一下它的历史. Android读音:android 英 [ ˈændrɔɪd ] 美 [ ˈænˌdrɔɪd ],中文音译:"安叫伊德",或者&q ...

  6. 【Android学习】Android常用框架

    1,缓存 1)DiskLruCache Java实现基于LRU的磁盘缓存. 2,图片 1)Glide(已使用) ①概念 图片加载.  Glide 支持拉取,解码和展示视频快照,图片,和GIF动画. ② ...

  7. Android学习笔记——Android 签名机制详解

    Android 签名机制详解 近期由于工作需要在学习 Android 的签名机制,因为没有现成资料,只能通过开发者文档和阅读博客的方式对 Android 签名机制进行大致了解.过程中查阅到的资料相对零 ...

  8. android学习笔记 android学习速成口诀(张迅雷闪击android系列)

    Android架构分4层  用框行li   (谐音:用框行礼) Android布局有5种  架线绝对表 (谐音:架电线绝对需要用表) 数据存储5方式    下贱似C网   (谐音:下贱的就是联通CDM ...

  9. android微信电话锁屏,解决 Android 7.0 系统中,微信无法在锁屏画面显示

    文章版块:HTC One A9 在 Android 7.0 系统中htc手机微信怎么截屏htc手机微信怎么截屏,会出现微信无法在锁屏画面显示的状况.建议您进行下面修改就可以解决: 进入"HT ...

最新文章

  1. 语音公司集体杀入AI芯片 2019场景落地战打响!
  2. Atlas Cool Application
  3. 安装JAVA内部错误61003_JDK1.8 安装报内部错误:61003
  4. JDK10都发布了,nio你了解多少?
  5. 解决MySQL报错ERROR 2002 (HY000)【转】
  6. java实现 XSS攻击防护
  7. C语言n个坐标点间的最大距离,SOS!求检查程序,到17个点距离之和最小的点的坐标...
  8. 使用java写js中类似setTimeout的代码
  9. 常用python内置函数_python常用内置函数
  10. 学生用计算机如何clean,windows installer clean up,教您电脑如何使用清理实用工具
  11. VB2010(24)窗体用户控件
  12. npm run build时报错“caniuse-lite is outdated”
  13. 对于AI 既有期待也要思考
  14. 从零开始行人重识别 [中文版]
  15. 临时表与SELECT INTO、INSERT INTO SELECT
  16. CLEARCO Silicone Fluids Grease Compounds
  17. sendEmail发送邮件
  18. MySQL图形界面创建数据库
  19. uniapp宽屏开发PC端方案,及衍生问题解决
  20. python爬虫豆瓣评论实验报告_用python实现豆瓣短评通用爬虫(登录、爬取、可视化分析)...

热门文章

  1. spss与python和sql区别_Python/Excel/SPSS/SQL数据处理方法比较之2 - 数据查看
  2. 拖拽 开发 easyui php,Easyui-Builder
  3. 电池供电的电容麦_板儿砖变电池?!是的,科学家已成功实现这一功能
  4. java获取发件人_如何获取发件人outlook / Exchange的SMTP地址
  5. javaee安装_JDK下载安装与环境变量配置【超详细】
  6. Linux添加用户并赋管理员权限
  7. layui数据表格格式化
  8. 【CCCC】L3-004 肿瘤诊断 (30分),三维BFS
  9. 【NOIP2013】【Luogu1966】火柴排队(逆序对)
  10. c语言中同级运算符的运算顺序,二 如何学习C语言的运算符和运算顺序