【问题标题】:Android fresco library gif not animatingAndroid Fresco Library GIF没有动画
【发布时间】:2017-02-12 12:06:18
【问题描述】:

我是安卓新手。下面是我复制并稍作修改的示例代码,但它无法为 gif 图像设置动画。它只是在我的应用程序中显示为静态图像。 gifImage 没有动画。我什至尝试过两次初始化控制器。

    private void findViews() {
    button = (Button) findViewById(R.id.button);
    sdvImage = (SimpleDraweeView) findViewById(R.id.sdv_image);
    roundBorderImage = (SimpleDraweeView) findViewById(R.id.round_border);
    circleImage = (SimpleDraweeView) findViewById(R.id.circle);
    fullCustomImage = (SimpleDraweeView) findViewById(R.id.full_custom_image);
    gifImage = (SimpleDraweeView)findViewById(R.id.gifimage);
}   DraweeController controller;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Fresco.initialize(this);
    setContentView(R.layout.activity_main);
    findViews();


    final Uri imageUri = Uri.parse("https://lh3.googleusercontent.com/-voUmhKJzNHc/VSJaPfSJ2pI/AAAAAAAABKw/-oFVzRZxI40/w140-h105-p/fresh_green_grass_bokeh-wallpaper-1024x768.jpg");
   // final Uri imageUri = Uri.parse()
  final Uri gifURI  = Uri.parse("http://s3.amazonaws.com/giphygifs/media/4aBQ9oNjgEQ2k/giphy.gif");
     controller = Fresco.newDraweeControllerBuilder()
            .setUri(gifURI)
            .setAutoPlayAnimations(true)

    .build();
   // mSimpleDraweeView.setController(controller);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           // sdvImage.setController(controller);
            sdvImage.setImageURI(imageUri);
            roundBorderImage.setImageURI(imageUri);
            circleImage.setImageURI(imageUri);
            fullCustomImage.setImageURI(imageUri);
            gifImage.setController(controller);

            gifImage.setImageURI(gifURI);
        }
    });
}

【问题讨论】:

  • PS- 在我的 gradle 文件中,我确实有以下行,还有用于编译 fresco compile 'com.facebook.fresco:animated-gif:0.12.0' 的行

标签: android image animation gif fresco


【解决方案1】:

您可以尝试使用 0.14.1 版吗?以下代码适用于我:

分级:

compile 'com.facebook.fresco:fresco:0.14.1'
compile 'com.facebook.fresco:animated-gif:0.14.1'

布局中的某处:

<com.facebook.drawee.view.SimpleDraweeView
     android:id="@+id/drawee"
     android:layout_width="46dp"
     android:layout_height="46dp"
     />

在 Java 中:

SimpleDraweeView simpleDraweeView = (SimpleDraweeView) findViewById(R.id.drawee);
simpleDraweeView.setController(
    Fresco.newDraweeControllerBuilder()
    .setImageRequest(ImageRequest.fromUri("http://s3.amazonaws.com/giphygifs/media/4aBQ9oNjgEQ2k/giphy.gif"))
    .setAutoPlayAnimations(true)
    .build());

【讨论】:

    猜你喜欢
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 2017-01-18
    • 2016-04-27
    相关资源
    最近更新 更多