Fresco最最最简单使用
allprojects {repositories {jcenter()mavenCentral() }}
这样你就可以在你项目中使用fresco。
Fresco.initialize(instance);
第二:fresco是通过控件来实现它内部的优化缓存处理,我们使用的时候是通过控件来使用,具体如下
<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/user_avator" android:layout_width="50dp" android:layout_height="50dp" fresco:roundAsCircle="true" fresco:roundedCornerRadius="180dp" fresco:actualImageScaleType="focusCrop" android:layout_centerVertical="true" />
大家可能看到,属性中存在fresco:开头的声明。这个是fresco的自定义属性,如果我们需要使用其自定义属性,必须在我们的xml根布局中添加声明/命名空间,下图红色部分
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fresco="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">
第三:在代码中具体的使用
Uri uri = Uri.parse(http://b.hiphotos.baidu.com/image/pic/item/e78.jpg); mAvatorImg.setImageURI(uri);
android:id="@+id/my_image_view"
android:layout_width="20dp" // 不支持wrap_content 如果要设置宽高比, 需要在Java代码中指定setAspectRatio(1.33f);
android:layout_height="20dp" // 不支持wrap_content
fresco:fadeDuration="300"
fresco:actualImageScaleType="focusCrop" // 设置图片缩放. 通常使用focusCrop,该属性值会通过算法把人头像放在中间
fresco:placeholderImage="@color/wait_color" // 下载成功之前显示的图片
fresco:placeholderImageScaleType="fitCenter"
fresco:failureImage="@drawable/error" // 加载失败的时候显示的图片
fresco:failureImageScaleType="centerInside"
fresco:retryImage="@drawable/retrying" // 加载失败,提示用户点击重新加载的图片(会覆盖failureImage的图片)
fresco:retryImageScaleType="centerCrop"
fresco:progressBarImage="@drawable/progress_bar"// 提示用户正在加载,和加载进度无关
fresco:progressBarImageScaleType="centerInside"
fresco:progressBarAutoRotateInterval="1000"
fresco:backgroundImage="@color/blue"
fresco:overlayImage="@drawable/watermark"
fresco:pressedStateOverlayImage="@color/red"
fresco:roundAsCircle="false" // 是不是设置圆圈
fresco:roundedCornerRadius="1dp" // 圆角角度,180的时候会变成圆形图片
fresco:roundTopLeft="true"
fresco:roundTopRight="false"
fresco:roundBottomLeft="false"
fresco:roundBottomRight="true"
fresco:roundWithOverlayColor="@color/corner_color"
fresco:roundingBorderWidth="2dp"
fresco:roundingBorderColor="@color/border_color"
/>
修改图片尺寸
Uri uri = "file:///mnt/sdcard/MyApp/myfile.jpg";
int width = 50, height = 50;
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setResizeOptions(new ResizeOptions(width, height))
.build();
PipelineDraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(mDraweeView.getController())
.setImageRequest(request)
.build();
mSimpleDraweeView.setController(controller);
自动旋转
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setAutoRotateEnabled(true)
.build();
Fresco最最最简单使用相关推荐
- 第二话 最最最简单的计算机
上一话说到, 从灯泡的一亮一灭,我们可以读出"和",我们设想制作这样一台机器,可以计算两个数相加,最后由灯泡来显示结果. 但是,要做这一台会计算的机器,真不知道怎么下手. 我也说了 ...
- smarty课程---最最最简单的smarty例子
smarty课程---最最最简单的smarty例子 一.总结 一句话总结:其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者混合为一个 ...
- python从入门到大神---4、python3文件操作最最最最简单实例
python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...
- 初识Shell Scripts编程--最最简单的shell例子
前段时间因为要往一个文件写入一系列随机数给大家用,自己用C语言写了一个,把源文件发给大家,然后大家还要编译,运行,有时候里面的代码需要修改重新编译运行,很是麻烦,其实这些都可以用简单的Shell Sc ...
- python文件式和交互式道路标志_其它课程中的python---4、Matplotlib最最最最简单使用...
其它课程中的python---4.Matplotlib最最最最简单使用 一.总结 一句话总结: 慢慢来吧,不着急,心态平和和沉稳:每次和世界交互,你就能感受到无比的自信 1.如何区别python2和p ...
- 微信小程序----最最最最最简单的日历做法
微信小程序--最最最最最简单的日历做法 写这篇文章的时候时间是2018/8/16,该日历写法但求界面简单,实现功能,如果需要更华丽的效果或者其他界面请自行更改,8月份日历效果图: 默认从1号开始排序, ...
- 【图像识别】训练一个最最简单的AI使其识别Vtuber
前言: 前几天看完了pytorch入门教程,想着要做一个小玩意巩固一下知识点,然后又想着大半年没整活了,于是就想着和虚拟主播缝合起来,还能给自己增添一点动力 本人只是本科大一非计科专业,只是在课余时间 ...
- android fersco 框架,Android Fresco框架的简单使用
Uri uri = Uri.parse("xxx"); PipelineDraweeControllerBuilder sdcb = Fresco.newDraweeControl ...
- 《偷梁换柱》全世界最最简单对付SMSS。EXE病毒的方法,可能也是对付某类流氓程序的好方法...
这段时间感染了SMSS.EXE,还有其他很多木马, 找了些工具,删除了大部分的木马,最后发现吃我内存,耗费我时间的smss.exe还是存在. HOHO..没办法..我才512M内存啊,他一小时就要吃我 ...
最新文章
- 云服务器dns配置文件,linux服务器dns配置文件
- 条款22: 尽量用“传引用”而不用“传值”
- hdu3035 最小割转换成最短路
- css:text-align:justify的用法
- 2021-01-07 matlab数值分析 数值积分与数值微分 复合梯形公式 复合Simpson公式
- [转]解决微信及360浏览器无法读取本地图片问题
- bzoj 3394: [Usaco2009 Jan]Best Spot 最佳牧场(floyd)
- PHP mysql问号通配符个数_php – MySQL:计算每个条目的LIKE匹配数
- 自定义Android TabHost的背景及文字
- 新书榜TOP 20占了17位!榜单里有哪些值得入手的技术新书?
- phalcon index.php,除了Phalcon php中的indexAction之外,无法调用indexController的动作
- 关于无线温度监测系统
- MybatisPlus联合查询
- JVM垃圾回收器G1详解
- 系统分析师-2021年下午简答题
- 使用Java做ORC图片识别
- MFRC53101TOFE小知识
- 小程序的发布上线流程
- 读取位置 0xdddddddd 时发生访问冲突
- thinkphp网站提示缓存文件写入失败