Articles of 毕加索

在毕加索加载图片后无法隐藏进度条?

我试图在ma app中集成进度条。但我无法跟踪回调方法。进度条总是显示如何隐藏图像被锁定时? holder.imageView = (ImageView) localView.findViewById(R.id.imageView1); holder.progressBar = (ProgressBar) localView.findViewWithTag(R.id.progressBar1); localView.setTag(holder); url = getItem(paramInt); Picasso.with(getApplicationContext()) .load(url) .placeholder(R.drawable.ic_launcher) .error(R.drawable.ic_launcher) .fit() .into(holder.imageView, new Callback() { @Override public void onSuccess() { holder.imageView.setVisibility(View.VISIBLE); holder.progressBar.setVisibility(View.INVISIBLE); } @Override public void onError() { holder.progressBar.setVisibility(View.VISIBLE); holder.imageView.setVisibility(View.INVISIBLE); } });

使用毕加索绘制带有白色背景的圆形图像

我有一些白色背景的图像和一些透明背景的图像。 当创建它们的圆形图像时,我希望它们都具有白色背景,所以基本上我想用白色像素替换图像的透明像素。 有没有办法实现这一点,而无需逐个替换像素? 这是我用于创建圆角图像的转换: package com.mobilefootie.util; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.BitmapShader; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.RectF; import android.graphics.Shader; public class RoundedTransformation implements com.squareup.picasso.Transformation { public RoundedTransformation() { } @Override public Bitmap transform(final Bitmap source) { int size = Math.min(source.getWidth(), source.getHeight()); int x = (source.getWidth() – size) / 2; int y = […]

在加载毕加索之后,android得到Drawable图像

我正在使用Picasso库从url加载图像。 我使用的代码如下。 Picasso.with(getContext()).load(url).placeholder(R.drawable.placeholder) .error(R.drawable.placeholder).into(imageView); 我想做的是获取从url加载的图像。 我用了 Drawable image = imageView.getDrawable(); 但是,这将始终返回占位符图像,而不是来自url的图像加载。 你们有什么想法吗? 我应该如何访问刚刚从url加载的可绘制图像。 提前致谢。

在Picasso中使用Callback获取图像?

我想展示照片系列,照片之间没有间隙,照片会定期更换照片。 我意识到Picasso在开始下载之前初始化了ImageView,无论我是否在调用()之前获取(),它总是这样做。 我使用fetch()来保持图像之间的间隙较小,并使用.placeholder(R.color.black),但即使从内存加载图像,间隙仍然可见。 我的代码看起来像这样 Picasso.with(getContext()).load(url).fetch(); 然后延迟[目前正在修复,我想根据网络速度进行调整] Picasso.with(getContext()).load(url).into(screenSurface); 我注意到fetch()不支持任何回调参数并返回void,因此我似乎不可能知道缓存何时变暖。 两个问题: 我可以在缓存图像时注意到这一点吗? 是否有一种不同的方法可以摆脱图像之间的断裂并使它们经常出现。 [我知道我可以用某种方式手动编码,但如果Picasso支持它,我想使用它。]

毕加索和背景

我最近一直在玩毕加索作为图像加载器库。 我和Dagger以及OkHtttp一起使用它。 我对这个库的唯一问题是上下文的使用以及通过构建器实现库的实例化。 我不完全确定它所需的上下文(无法find有关它的文档)以及我们应该使用哪个上下文(ApplicationContext或ActivityContext?)以及原因。 通过Jake Wharton查看示例(btw伟大的示例应用程序以查看所有这些组合)u2020,只有Picasso的单个实例,它是在应用程序上下文的基础上创建的。 像这样的东西: @Provides @Singleton Picasso providePicasso(@ApplicationContext Context context, OkHttpClient client) { Picasso picasso = new Picasso.Builder(context) .downloader(new OkHttpDownloader(client)) .listener(new Picasso.Listener() { @Override public void onImageLoadFailed(Picasso picasso, Uri uri, Exception e) { Log.e(“Picasso”, “Failed to load image:” + uri); } }) .build(); return picasso; } 这用作全局对象,仅实例化一次。 我的问题是为什么不在Activity级别实例化一个新的毕加索实例(使用相同的全局OkHttpClient配置LRUCache并且之前注入它)并将活动作为上下文传递? 今天早上我在Github Picassopost中读到应该使用应用程序上下文但没有提供更多细节。 所以作为结论,我的问题是: – […]

Picasso在listview中向上滚动时不断重新加载图像,加载缓慢

我一直在搜索SO线程的答案,但无法从前面的讨论中找出我的问题。 我有一个listview加载大约50个图像(它曾经是大约100个图像,但根本没有加载任何图像)。 从api端点获取我的JSON内容(包括图像URL)后,通过适配器,我的代码将其放入listview中。 目前,有50张图片,当我向下滚动Feed时,毕加索将一次加载一张图片。 我觉得好像将滚动固定在列表视图中的一个项目上会使图像加载更快。 然而,当我向上滚动时,它会将占位符重新放入并重新加载图像。 有没有办法解决这个问题? public class MainActivity extends Activity { private List myPosts = new ArrayList(); protected String[] mBlogPostTitles; public static final String TAG = MainActivity.class.getSimpleName();//prints name of class without package name @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if(isNetworkAvailable()) { GetBlogPostsTask getBlogPostsTask = new GetBlogPostsTask(); // new thread getBlogPostsTask.execute();// don’t […]

Picasso IllegalArgumentException目标不能为null

我正在尝试通过在我的项目中使用Picasso库来设置图像。 当我单击View的图像时,我在Picasso执行时遇到错误。 该应用程序的Logcat java.lang.IllegalArgumentException: Target must not be null. at com.squareup.picasso.RequestCreator.into(RequestCreator.java:340) at com.squareup.picasso.RequestCreator.into(RequestCreator.java:326) at com.zafer.celaloglu.FragmentsandActivities.UnfoldableDetailsFragment.openDetails(UnfoldableDetailsFragment.java:89) at com.zafer.celaloglu.model.PaintingsAdapter.onClick(PaintingsAdapter.java:52) at android.view.View.performClick(View.java:4084) at android.view.View$PerformClick.run(View.java:16966) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) UnfoldableDetailsFragment 89 = public void openDetails(View coverView, Painting painting) { ImageView image = (ImageView) […]

清除Picasso的缓存

我正试图通过Android编码清除Picasso的缓存。 任何人都可以帮我解决这个问题..? 我尝试使用以下代码,但在我的情况下这没用: Picasso.with(getActivity()).load(data.get(pos).getFeed_thumb_image()).skipMemoryCache().into(image);

使用视图持有者模式时,毕加索会加载到错误的imageview中

我正在尝试使用Picasso库将外部图像加载到ListView行中。 我有一个自定义ArrayAdapter如下: public class RevisedBusinessesAdapter extends ArrayAdapter<HashMap> { Context context; int layoutResourceId; ArrayList<HashMap> data = null; public RevisedBusinessesAdapter(Context context, int layoutResourceId, ArrayList<HashMap> data) { super(context, layoutResourceId, data); this.layoutResourceId = layoutResourceId; this.context = context; this.data = data; } @Override public View getView(int position, View convertView, ViewGroup parent) { View row = convertView; RevisedBusinessHolder holder = null; […]

与毕加索的圆角

是否有合理的方式与毕加索做圆角 不会显着减慢绘图速度 适用于硬件层 不为每个图像创建额外的位图 允许将下载的位图大小调整为目标imageview的大小 大多数关于圆角的毕加索建议都建议使用转换,但我没有看到一个例子,它不会在转换过程中创建额外的位图。 这似乎是因为Picasso只使用位图,而做圆角的技巧使用了这样一个事实:你可以合理有效地动态绘制圆角(大多数解决方案都使用了类似于http://www.curious-creature的内容。 org / 2012/12/11 / android-recipe-1-image-with-rounded-corners / )。 通过将ImageView的types更改为采用自定义drawable的东西,可以将Volley的types更改为圆形角落。 由于Picasso需要位图(至少,只有位图 – >位图转换),所以这是不对的,因为drawable转换为位图会在过程中创建一个位图。 一个解决方案就是在我自己的分支中修改毕加索的工作,它添加了一个位图 – >可绘制的变换,但我想有更好的方法来解决这个问题。 我不想在视图顶部绘制9个补丁以给出圆角的外观。