我已经实现了一个RecyclerView,主要包含通过Picasso加载的图像。 我的问题是,只要我向下滚动或向上的视图,占位符图像出现约。 一秒钟之后,它被实际的图像取代。 它滚动非常顺利,但实际上是无法使用的。 每当某个东西从屏幕上滚动时,就会发生这种情况。 毕加索显然将图像caching到磁盘上,因为它们的加载速度比初始加载时间要快,但是它们肯定会立即从caching中重新加载。 我错误地执行了什么? 我的适配器代码: public class ExploreAdapter extends RecyclerView.Adapter<ExploreAdapter.ExploreViewHolder> { private List<ExploreItem> exploreItemList; private Context mContext; private int deviceWidth = PrefUtils.getDeviceWidth(); public ExploreAdapter(Context context, List<ExploreItem> exploreItemList){ this.mContext = context; this.exploreItemList = exploreItemList; } @Override public int getItemCount(){ return exploreItemList.size(); } @Override public void onBindViewHolder(ExploreViewHolder exploreViewHolder, int i){ ExploreItem item = exploreItemList.get(i); […]
问题 我正在编写一个应用程序,应该有一个“幻灯片”function。 我发现这个以毕加索为基础的漂亮的图书馆 ,完全符合我的要求,而且大部分时间它都运行良好。 问题是,有时我的图像没有加载到幻灯片ImageView …它只显示一个“黑色canvas”,你可以看到下面的截图。 我从我的drawables从本地资源加载图像。 有时发生在纵向模式,有时在横向模式。 我使用哪个图像并不重要,有时会发生“黑度”。 编辑:我使用Android 5.0.2和4.4.2 – 它似乎并没有发生在4.4.2。 只在5.0.2上。 第二编辑:它发生在Android 5.1的Moto X 2014上。 第三次编辑:我试图加载的图片在磁盘上有45KB,分辨率为900×445。 然而,另一个编辑:我已经打开布局rects如所build议的,这些是结果: 它保持在滚动上。 有时,它变成白色而不是黑色(或白色,然后是黑色)。 我尝试过的其他东西:我的drawables位于res/drawable文件夹,当我将该文件夹中的文件更改为res/drawable-xxxhdpi滑块在5.0.2设备上工作。 跆拳道??? 到目前为止,我尝试了什么 我已经尝试了不同的图像,在幻灯片上加载多个图像,甚至这个拉动请求 ,改变毕加索滑翔的lib。 似乎没有任何工作,错误似乎是随机的。 一旦我试图使用url而不是本地存储上的实际可绘制的URL,它就起作用了。 与完全相同的图像。 以下是我如何加载图像: Fragment.java private SliderLayout slider; private PagerIndicator indicator; // … private void setupSlider() { HashMap<String,Integer> file_maps = new HashMap<>(); file_maps.put("Blah",R.drawable.banner_1); file_maps.put("Bleh",R.drawable.banner_2); file_maps.put("Blih",R.drawable.banner_3); file_maps.put("Bloh",R.drawable.banner_4); for (String […]
我试图使用picasso库能够加载url到imageView,但我无法获得context正确使用picasso库。 public class FeedAdapter extends RecyclerView.Adapter<FeedAdapter.ViewHolder> { private List<Post> mDataset; // Provide a reference to the views for each data item // Complex data items may need more than one view per item, and // you provide access to all the views for a data item in a view holder public class ViewHolder extends RecyclerView.ViewHolder […]
我可以使用Picasso库从文件系统加载图像吗? 我使用startActivityForResult让用户从他的画廊中select一张照片,然后想要显示选定的图像。 我已经有工作代码来获取图像文件系统Uri ,但无法使Picasso.load()方法工作。
有没有一种方法来听取毕加索的事件时使用的build设者,如: Picasso.with(getContext()).load(url).into(imageView); 我试图在父GridView上调用requestLayout()和invalidate() ,所以它会调整正确,但我不知道如何设置一个侦听器或callback。 我看到毕加索有错误事件报告,但有一个成功的事件?
我有一个适配器,包含可变大小(宽度和高度) ImageView的ListView。 我需要调整与毕加索图片加载的最大宽度的布局和由图片的纵横比给出的variables高度。 我已经检查了这个问题: 调整图像到全宽和固定高度的毕加索 fit()作品,但我还没有发现任何东西保持图片的纵横比。 如果我在适配器的布局中固定高度,此代码部分工作: Picasso.with(this.context).load(message_pic_url) .placeholder(R.drawable.profile_wall_picture) .fit().centerInside() .into(holder.message_picture); 但它会在listView的图片之间生成空格,因为图片可能没有那个高度。 提前致谢。
我有下面的代码来加载在毕加索的图像,使用可绘制的占位符来显示下载图像。 我想要的是一个animation旋转的进度条样式的微调,在图像加载的时候四处移动,就像我在大多数专业应用中看到的一样。 毕加索似乎并不支持这一点,只有静态图像可绘制。 有办法让它与毕加索合作,还是我需要做一些不同的事情? Picasso.with(context).load(url) .placeholder(R.drawable.loading) .error(R.drawable.image_download_error) .into(view);
我有一个垂直的LinearLayout,其中的一个项目是使用毕加索加载的ImageView 。 我需要将图像的宽度上升到完整的设备宽度,并显示按固定高度(150dp)裁剪的图像的中心部分。 我目前有以下代码: Picasso.with(getActivity()) .load(imageUrl) .placeholder(R.drawable.placeholder) .error(R.drawable.error) .resize(screenWidth, imageHeight) .centerInside() .into(imageView); 我应该把哪个值放入screenWidth和imageHeight (= 150dp)?