无法在Picasso方法.load中解析方法

时间:2016-06-17 07:39:38

标签: android picasso image-loading colordrawable

Picasso图片加载库在使用时显示错误:

ColorDrawable cd = new ColorDrawable(ContextCompat.getColor(mContext,R.color.light_thirty_alpha));

 Picasso.with(mContext)
                .load(cd)
                .fit().centerCrop()
                .transform(new RoundedTransformation(5, 0))
                .error(cd)
                .placeholder(cd)
                .into(imageView_ovelay_slider);

显示无法解析方法.load(colorDrawable)的错误。我已经知道它不接受colorDrawable但我要求我们可以将colorDrawable转换为接受.load()接受的其他内容。

3 个答案:

答案 0 :(得分:0)

如果您查看source code,您会看到,Picasso的package com.test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframework.core.env.Environment; @Configuration @PropertySource("app.properties") public class AppConfig { @Autowired Environment env; @Bean public String myBean() { System.out.println(env.getProperty("serverName")); return new String(env.getProperty("serverName")); } } 方法可以接受以下任何一个参数:

  • Uri
  • 字符串
  • File
  • int(资源ID)

它不接受load

答案 1 :(得分:0)

.load 方法不接受 ColorDrawable 作为参数。查看已接受参数的官方文档。

  1. 加载(文件文件) - 使用指定图像文件的图像请求。
  2. load( int resourceId) - 使用指定的可绘制资源ID的mage请求。
  3. load(字符串路径) - 使用指定路径的图片请求。
  4. load( android.net.Uri uri) - 使用指定URI的图片请求。
  5. eventFilter

答案 2 :(得分:0)

使用

最终找到了解决方案

解决方案1(工作和测试):

ColorDrawable cd = new ColorDrawable(ContextCompat.getColor(mContext,R.color.light_thirty_alpha));
        Picasso.with(mContext)
                .load(String.valueOf(cd))
                .fit().centerCrop()
                .transform(new RoundedTransformation(5, 0))
                .error(cd)
                .placeholder(cd)
                .into(imageView_ovelay_slider);

解决方案2(工作和测试):

我找到的替代方法是创建具有radius的形状drwable.xml文件。

<?xml version="1.0" encoding="utf-8"?>

<item>
    <shape android:shape="rectangle">
        <stroke
            android:width="0dp"
            android:height="0dp"
            android:color="@color/transparent" />

        <!-- apply button background transparent, full opacity -->
        <solid android:color="@color/box" />
        <corners android:radius="2.5dp" />

        <padding android:bottom="2dp"
            android:left="4dp"
            android:right="4dp"
            android:top="2dp" />
    </shape>
</item>

并将其用作背景绘图。谢谢@Prera​​k Sola&amp;阿洛克