目前我正在使用picasso将MediaStore图像缩略图加载到ListView以下代码片段中:( video.getData()返回图像的实际路径,如mnt/sdcard/...)
Picasso.with(this.context)
.load(new File(photo.getData()))
.resize(50, 50).config(config)
.centerCrop()
.into(viewHolder.imageViewItem);
Run Code Online (Sandbox Code Playgroud)
现在我无法通过传递video.getData()而不是加载MediaStore视频缩略图photo.getData()?
我不知道我应该在哪里解决这个问题,如果这是我的错,那么Picasso Lib Wrong或Cardview Library中就会有一些东西.
基本上我有一个CardView图像(全卡覆盖)和A TextView覆盖.
在Android 5.0设备上运行代码时,一切正常,Image获取其圆角.
但是,如果我在5.0之前的设备上运行它,图像重叠Cardlayout并且没有圆角.
你可以看看这个图片的比较:

以下是一些代码片段:
layout_row.xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/pandaImage"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:scaleType="centerCrop" />
<TextView
android:id="@+id/pandaName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/pandaImage"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@color/photo_tint"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="24sp" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
加载图像的Recycler Adapter:
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
Photo p = photos.get(i);
Picasso.with(mContext).load(p.getUrl()).fit().into(viewHolder.mImage);
viewHolder.mPandaName.setText(p.getTitle());
}
Run Code Online (Sandbox Code Playgroud) 我在RecyclerView中加载400x200图像,但在2k设备上滚动是滞后的.我正在使用Picasso从资源加载图像.
正如您在演示图像中看到的那样,在2k屏幕上模糊,但如果我加载更高分辨率的图像,情况会变得更糟.如何解决这个问题,我甚至没有加载大图像,它的400x200?
这是我的代码 card_view.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
card_view:cardPreventCornerOverlap="false"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
card_view:cardCornerRadius="2dp">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/rel">
<ImageView
android:id="@+id/cardimage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:src="@drawable/p7"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="title"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:paddingBottom="24dp"
android:textStyle="bold"
android:textSize="24sp"
android:id="@+id/cardtitle"
android:layout_gravity="center_vertical"/>
</LinearLayout>
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
Myadapter代码
public class CardAdapter extends RecyclerView.Adapter<CardAdapter.ViewHolder> {
private Context mContext;
List<Flower> list = new ArrayList<>();
public CardAdapter(Context mContext, List<Flower> list) {
this.mContext = mContext;
this.list = list;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView …Run Code Online (Sandbox Code Playgroud) 我想在Imageview上加载图像时显示淡入淡出效果.我正在使用毕加索来缓存图像并在图像视图中显示.我已经搜索了很多,但无法找到任何解决方案.
我之前使用过,我知道在某些版本中他们有.fade(int Duration)方法在加载时淡化图像,但我再也找不到这个方法了.
这就是我现在正在做的事情
Picasso.with(context)
.load(viewHolder.data.imageList.get(0).url)
.networkPolicy(NetworkPolicy.OFFLINE)
.placeholder(R.drawable.a_place_holder_list_view)
.error(R.drawable.a_place_holder_list_view)
.into(viewHolder.ivUser, context.loadImage(viewHolder.ivUser, viewHolder.data.imageList.get(0).url));
public Callback loadImage(RoundedImageView ivUser, String url) {
return new callback(ivUser, url);
}
public class callback implements Callback {
RoundedImageView imageView;
String url;
public callback(RoundedImageView imageView, String url) {
this.imageView = imageView;
this.url = url;
}
@Override
public void onSuccess() {
}
@Override
public void onError() {
Picasso.with(BaseActivity.this)
.load(url)
.placeholder(R.drawable.a_place_holder_list_view)
.error(R.drawable.a_place_holder_list_view)
.into(imageView, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
Log.v("Picasso", "Could not …Run Code Online (Sandbox Code Playgroud) 我需要将Sd卡中的图像加载到gridview中.为了提高效率,我正在使用毕加索图书馆
Picasso.with(activity).load(images.get(position).getDataPath())
.resize(96, 96).centerCrop().into(viewHolder.image);
Run Code Online (Sandbox Code Playgroud)
我在适配器中使用了以下代码.很遗憾,我无法看到任何图片,所以请任何人帮忙.
注意 并且任何人都可以建议任何有效的图像加载库来加载SD卡中的图像.
要求 我每次滚动时都不要加载图像.如果已经加载,请不要在滚动时加载图像
我想onStart()使用毕加索从服务器加载图像的方法,我想显示进度条,直到照片完全下载这是我的代码:
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Picasso.with(context).load(imageLoad)
.placeholder(R.id.progressBarDetails)
.error(R.drawable.friend_request).noFade().resize(200, 200)
.into(avatarImage, new Callback() {
@Override
public void onError() {
// TODO Auto-generated method stub
}
@Override
public void onSuccess() {
// TODO Auto-generated method stub
progressbar.setVisibility(View.GONE);
}
});
Picasso.with(this).load(imageLoad).into(target);
}
OnFinished a = new OnFinished() {
@Override
public void onSendFinished(IntentSender IntentSender, Intent intent,
int resultCode, String resultData, Bundle resultExtras) {
// TODO Auto-generated method stub
intent = new Intent(getApplicationContext(), Map.class);
}
}; …Run Code Online (Sandbox Code Playgroud) 我有什么 ::我有一个Imageview,我使用picassso将图像作为一个圆圈

我该怎么做 ::我想使用我当前的实现为圆形图像添加黑色边框,如何在不使用第三方库的情况下实现此目的
Picasso.with(this)
.load("http://i.imgur.com/DvpvklR.png")
.transform(new RoundedTransformation(50, 4))
.resize(100, 100)
.centerCrop().into(imageView1);
Run Code Online (Sandbox Code Playgroud)
RoundedTransformation.java
// enables hardware accelerated rounded corners
// original idea here : http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/
public class RoundedTransformation implements com.squareup.picasso.Transformation {
private final int radius;
private final int margin; // dp
// radius is corner radii in dp
// margin is the board in dp
public RoundedTransformation(final int radius, final int margin) {
this.radius = radius;
this.margin = margin;
}
@Override
public Bitmap transform(final Bitmap source) {
final Paint paint …Run Code Online (Sandbox Code Playgroud) 我可以在展示之前用Picasso下载图像吗?我想先缓存图像.
示例场景:用户单击按钮,查看进度条,图像加载完成后,用户可以在屏幕上看到图像.
我尝试使用"get"方法加载图像,但是没有缓存图像.
Thread thread = new Thread()
{
@Override
public void run() {
try {
Picasso picasso = PicassoOwnCache.with(getApplicationContext());
RequestCreator picassoRequest;
for (String imgUrl : imagesUrls) {
picassoRequest = picasso.load(imgUrl);
picassoRequest.get();
}
} catch (Exception e) {
e.printStackTrace();
}
}
};
thread.start();
Run Code Online (Sandbox Code Playgroud)
这是我的毕加索单身课程
public class PicassoOwnCache {
static Picasso singleton = null;
static Cache cache = null;
public static Picasso with(int cacheSize, Context context) {
if (singleton == null) {
int maxSize = calculateMemoryCacheSize(context);
cache = new LruCache(cacheSize <= …Run Code Online (Sandbox Code Playgroud) 我正在使用毕加索库下载并将图像加载到imageView中.现在我想知道在将它们加载到imageViews之前我如何获得图像的宽度和高度?
我有一个包含两个imageView的适配器的列表视图(其中一个是垂直的,另一个是水平的).取决于图像宽度和高度我想将图像加载到其中一个图像视图中.
我正在使用Picasso在我的应用程序中从Web加载图像.我注意到一些图像显示旋转了90度,但是当我在浏览器中打开图像时,我看到它正确定位.我假设这些图像有EXIF数据.有没有办法指示毕加索忽略EXIF?