Fresco的简单实用

来源:互联网 发布:雅居乐找软件测试 编辑:程序博客网 时间:2024/06/05 18:12


依赖

    //使用+代表依赖库的最新版本    //Fresco    compile 'com.facebook.fresco:fresco:+'    //支持GIF    compile 'com.facebook.fresco:animated-gif:+'





MainActivity.java

package com.example.fresco;import android.graphics.drawable.Animatable;import android.net.Uri;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.Toast;import com.facebook.drawee.backends.pipeline.Fresco;import com.facebook.drawee.controller.AbstractDraweeController;import com.facebook.drawee.controller.BaseControllerListener;import com.facebook.drawee.view.SimpleDraweeView;import com.facebook.imagepipeline.image.ImageInfo;import com.facebook.imagepipeline.request.ImageRequest;import com.facebook.imagepipeline.request.ImageRequestBuilder;public class MainActivity extends AppCompatActivity {    public String mImageUrl="http://imgstore.cdn.sogou.com/app/a/100540002/661782.jpg";    public String mErrorUrl="http://imgstore.cdn.sogou.com/app/a/100542/661782.jpg";    public String mGifUrl="http://p0.ifengimg.com/pmop/2017/0729/FE0633609A001942214FB696CB2EFA2C2FF30E2B_size413_w500_h226.gif";    public String mJpegUrl="http://imgsrc.baidu.com/image/c0%3Dshijue1%2C0%2C0%2C294%2C40/sign=041e9e287acf3bc7fc0dc5afb969d0d4/9e3df8dcd100baa1ae06259e4d10b912c8fc2ee8.jpg";    private SimpleDraweeView sdv;    private Button btn;    private int LKH=0;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //需要初始化Fresco        Fresco.initialize(this);        setContentView(R.layout.activity_main);        //获取控件        sdv = (SimpleDraweeView) findViewById(R.id.sdv);        btn = (Button) findViewById(R.id.btn);        //得到URI        Uri uri = Uri.parse(mGifUrl);        //设置图片地址        sdv.setImageURI(uri);////       // 在java代码中设置view的一些xml属性 失败、重试//        GenericDraweeHierarchy draweeHierarchy = new GenericDraweeHierarchyBuilder(getResources())//                .setFailureImage(ContextCompat.getDrawable(this, R.drawable.icon_failure))//                .build();////        sdv.setHierarchy(draweeHierarchy);        //也可以控制图片请求的一些特性        ImageRequest build = ImageRequestBuilder.newBuilderWithSource(uri)                //射中支持JPEG的渐进展示(从模糊到清晰)                .setProgressiveRenderingEnabled(true)                .build();        //控制图片加载的一些特性        AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()                .setImageRequest(build)                .setUri(uri)                //设置可重新设置(4次)               // .setTapToRetryEnabled(true)                //设置自动播放               // .setAutoPlayAnimations(true)                //设置监听图片加载                .setControllerListener(new BaseControllerListener<ImageInfo>(){                    @Override                    public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {                    }                    @Override                    public void onFailure(String id, Throwable throwable) {                        Toast.makeText(MainActivity.this,"失败",Toast.LENGTH_SHORT).show();                    }                })                .build();        sdv.setController(controller);        btn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Animatable animatable = sdv.getController().getAnimatable();                if (LKH%2==0){                    LKH++;                    animatable.start();                }else {                    LKH++;                    animatable.stop();                }            }        });    }}





activity_main.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"    xmlns:fresco="http://schemas.android.com/apk/res-auto"    android:orientation="vertical">    <!--fresco:viewAspectRatio="1.5"  设置宽高比-->    <!--fresco:failureImage="@drawable/icon_failure"  网络加载失败图片-->    <!--fresco:progressBarImage="@drawable/icon_progress_bar"  网络缓慢过度图片-->    <!--fresco:progressBarAutoRotateInterval="3000"   旋转-->    <!--fresco:roundedCornerRadius="30dp"   设置弧度-->    <!--fresco:roundTopLeft="false"    设置是否有弧度-->    <!--fresco:roundAsCircle="true"   设置圆边框-->    <!--fresco:roundingBorderWidth="20dp"  设置边框宽度-->    <!--fresco:roundingBorderColor="#00f"  设置边框颜色-->    <com.facebook.drawee.view.SimpleDraweeView        android:id="@+id/sdv"        android:layout_gravity="center"        android:layout_width="400dp"        android:layout_height="wrap_content"        fresco:viewAspectRatio="1.5"        fresco:failureImage="@drawable/icon_failure"        fresco:progressBarImage="@drawable/icon_progress_bar"        fresco:progressBarAutoRotateInterval="3000"        fresco:fadeDuration="5000"        fresco:retryImage="@drawable/icon_retry"        fresco:roundedCornerRadius="30dp"        fresco:roundTopLeft="false"        fresco:roundBottomRight="false"        fresco:roundAsCircle="true"        fresco:roundingBorderWidth="20dp"        fresco:roundingBorderColor="#00f"        />    <!--<com.facebook.drawee.view.SimpleDraweeView-->        <!--android:id="@+id/sdv"-->        <!--android:layout_gravity="center"-->        <!--android:layout_width="400dp"-->        <!--android:layout_height="wrap_content"-->        <!--fresco:viewAspectRatio="1.5"-->        <!--/>-->    <Button        android:id="@+id/btn"        android:layout_gravity="center"        android:background="#ffab77"        android:layout_width="300dp"        android:layout_height="60dp"        android:textColor="#fff"        android:text="点击"/></LinearLayout>



阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 嘻哈三部曲婚纱照 hipop和嘻哈的区别 hiphop是什么意思 hip-hop hiphop什么意思 hihop hipop liphop hippop hip-pop hiphop 男女卫衣 连帽卫衣外套 连帽外套 男儿童毛衣图案大全 小孩毛衣图案 男孩外套 嘻嘻 嘻嘻88号 嘻嘻哈哈 笑嘻嘻拼音 嘻嘻嘻 笑嘻嘻 嘻嘻表情包 嘻嘻影院 色嘻嘻 笑嘻嘻造句 嘻嘻棋牌 嘻嘻嘻嘻 嘻嘻嘻嘻嘻嘻 哦嘻嘻 嘻嘻导航 嘻嘻鲁 嘻嘻哈哈作品 噢噢嘻嘻疼停太挺 画风浓烈by嘻嘻哈哈txt 笑嘻嘻照样子写词语 请君入梦嘻嘻哈哈 笑嘻嘻的拼音 嘻嘻88号微搏 笑嘻嘻的意思