我必须展示一个drawable来自res一个ImageView.在这个应用程序中,我出于某些原因使用Picasso.
在这种情况下,我需要加载drawable使用其URI而不是其id.为此,这是我的代码:
uri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://"+context.getPackageName()+"/drawable/" + drawableName);
Run Code Online (Sandbox Code Playgroud)
这里使用的drawableName是文件名而不是资源ID.
然后
Picasso.with(context).load(uri).into(imageView);
Run Code Online (Sandbox Code Playgroud)
我肯定知道可绘制的名字是正确的,但毕加索似乎不喜欢这个uri.
我正在使用Picasso库从网络上下载图像.我只是想知道我是否可以使用进度对话框或GIF图像作为占位符?还有任何想法如何使占位符图像比下载的实际图像更小(并适合中心)?
我试过通过样品,但没有运气.有谁在这里工作?
我知道有很多链接可以制作ImageView圆角.但我正在使用Picasso库进行图像加载..我引用链接获取结果.但问题是我正在使用它ListView并且对于第LIstView's一个项目ImageView它的工作完全正常但是对于剩下的一次转换不起作用.
我尝试使用自定义身份验证器设置自定义OkHttpClient,但是正如文档所说:"响应来自远程Web或代理服务器的身份验证挑战." 我必须为每个图像发出2个请求,这并不理想.
有像Retrofit这样的请求拦截器吗?或者我在OkHttpClient中遗漏了什么?
我正在使用最新版本:
compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.squareup.okhttp:okhttp:2.0.+'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.+'
compile 'com.squareup.okio:okio:1.0.0'
Run Code Online (Sandbox Code Playgroud)
谢谢!
有了ImageView,我可以使用以下代码下载带回调的图像
Picasso.with(activity).load(url).into(imageView, new Callback()
{
@Override
public void onSuccess()
{
// do something
}
@Override
public void onError() { }
);
Run Code Online (Sandbox Code Playgroud)
或者只是从中获取Bitmap Picasso.with(activity).load(url).get();.无论如何都要添加回调才能下载图像?如果可能请提供示例代码,干杯!
我正在尝试在两个活动之间进行共享元素转换.
第一个活动有一个圆形图像视图,第二个活动有一个矩形图像视图.我只是想让圆圈从第一个活动过渡到第二个活动,在那里它变成一个正方形,当我按回时它回到圆圈.
我发现转换不是那么整洁 - 在下面的动画中,您可以看到矩形图像视图似乎减小了大小,直到它与圆的大小相匹配.方形图像视图会瞬间出现,然后出现圆圈.我想摆脱方形图像视图,以便圆圈成为过渡的终点.
我已经创建了一个小测试回购,你可以在这里下载:https://github.com/Winghin2517/TransitionTest
我的第一个活动的代码 - imageview位于MainFragment我的第一个活动中:
public class MainFragment extends android.support.v4.app.Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_view, container,false);
final ImageView dot = (ImageView) view.findViewById(R.id.image_circle);
Picasso.with(getContext()).load(R.drawable.snow).transform(new PureCircleTransformation()).into(dot);
dot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getContext(), SecondActivity.class);
View sharedView = dot;
String transitionName = getString(R.string.blue_name);
ActivityOptionsCompat transitionActivityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), sharedView, transitionName);
startActivity(i, transitionActivityOptions.toBundle());
}
});
return view;
} …Run Code Online (Sandbox Code Playgroud) android whatsapp picasso android-transitions shared-element-transition
我有RecyclerView几个图像使用Picasso.在向上和向下滚动一段时间后,应用程序内存不足,并显示如下消息:
E/dalvikvm-heap? Out of memory on a 3053072-byte allocation.
I/dalvikvm? "Picasso-/wp-content/uploads/2013/12/DSC_0972Small.jpg" prio=5 tid=19 RUNNABLE
I/dalvikvm? | group="main" sCount=0 dsCount=0 obj=0x42822a50 self=0x59898998
I/dalvikvm? | sysTid=25347 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1500612752
I/dalvikvm? | state=R schedstat=( 10373925093 843291977 45448 ) utm=880 stm=157 core=3
I/dalvikvm? at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
I/dalvikvm? at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:623)
I/dalvikvm? at com.squareup.picasso.BitmapHunter.decodeStream(BitmapHunter.java:142)
I/dalvikvm? at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:217)
I/dalvikvm? at com.squareup.picasso.BitmapHunter.run(BitmapHunter.java:159)
I/dalvikvm? at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
I/dalvikvm? at java.util.concurrent.FutureTask.run(FutureTask.java:234)
I/dalvikvm? at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
I/dalvikvm? at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
I/dalvikvm? at java.lang.Thread.run(Thread.java:841)
I/dalvikvm? at com.squareup.picasso.Utils$PicassoThread.run(Utils.java:411)
I/dalvikvm? [ 08-10 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用API Picasso保存图像.为了做到这一点,我正在努力Target保存,但我不能做这项工作.
我怎么能这样做?
试
//save image
public static void imageDownload(Context ctx){
Picasso.with(ctx)
.load("http://blog.concretesolutions.com.br/wp-content/uploads/2015/04/Android1.png")
.into(getTarget("http://blog.concretesolutions.com.br/wp-content/uploads/2015/04/Android1.png"));
}
//target to save
private static Target getTarget(final String url){
Target target = new Target(){
@Override
public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
new Thread(new Runnable() {
@Override
public void run() {
//Log.i("PRODUTOS_FOLDER", CreateAppFolder.getProdutosFolder());
File file = new File(Environment.getExternalStorageDirectory() + url);
try {
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, ostream);
ostream.flush();
ostream.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}).start(); …Run Code Online (Sandbox Code Playgroud) 我想从web加载svg文件并在imageView上显示此文件,对于普通的png或其他图像文件我使用Picasso库是否可以将此库用于svg文件?有没有办法从网上加载svg文件并在图像视图上显示?我使用svg-android库来显示svg文件,但我不知道如何从web获取svg图像所有示例都使用本地文件.
我知道毕加索将图像加载到imageview等,但如何使用毕加索设置我的布局背景图像?
我的代码:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relativelayout);
relativeLayout.setBackgroundResource(R.drawable.table_background);
Picasso.with(MainActivity.this)
.load(R.drawable.table_background)
.resize(200, 200)
.into(relativeLayout);
return relativeLayout;
}
Run Code Online (Sandbox Code Playgroud)
我在这里给出了任何错误,说它无法解决.我有一个ScrollView和相对布局.
java android android-scrollview picasso android-relativelayout