我有代码:
Glide.with(getActivity())
.load(myurl)
.asGif()
.into(ivGif);
Run Code Online (Sandbox Code Playgroud)
我在 gradle 中导入了 glide:
repositories {
mavenCentral()
maven { url 'https://maven.google.com' }
}
dependencies {
compile 'com.github.bumptech.glide:glide:4.2.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.2.0'
}
Run Code Online (Sandbox Code Playgroud)
编译器说
无法解析方法.asGif()
我错过了什么吗?
我解决了一个典型的图像任务:尝试centerCrop()像如何使用 Glide 库对图像进行舍入?,但结果似乎是Glide 圆形图像被裁剪或
(非圆形)。
我认为 Glide (v.4) 没有正确裁剪图像。我尝试了许多变体,例如GlideApp.with(photo).load(url).circleCrop().into(photo). 可能更好的是首先从矩形创建一个正方形,然后使其成为圆形。
这是 XML 的一部分:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/photo"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="15dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/image_1"
/>
<TextView
android:id="@+id/name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="7dp"
android:layout_marginLeft="7dp"
android:lineSpacingExtra="1sp"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toEndOf="@+id/photo"
app:layout_constraintTop_toTopOf="@+id/photo"
tools:text="Name"
/>
</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
更新
抱歉,源图像有问题。我不认为它是用上下白色填充物平方的(添加了线条):
另一个例子:
这是因为在后端,他们缩小了矩形图像,使其成为带有白色边框的正方形。
我是 Kolin 的新手,我正在将旧代码库转换为 Kotlin。使用 Glide 加载图像时出现错误。
我的代码
Glide.with(context)
.load(url)
.apply(options)
.error(R.drawable.ic_no_image)
.into(imageView)
Run Code Online (Sandbox Code Playgroud)
通常这是正确的。但是我在 error() 构建器方法中收到来自 Kotlin 编译器的类型不匹配错误。
必需:RequestBuilder
任何人都有任何没有扩展功能的解决方案。
我想从身份验证 API 下载图像。如何下载配置 Glide?
GlideUrl glideUrl = new GlideUrl(url,
new LazyHeaders.Builder()
.addHeader("Authorization", token)
.build());
GlideApp.with(context)
.load(glideUrl)
.into(imageView);
Run Code Online (Sandbox Code Playgroud) 就是这样:该库支持哪些确切的文件格式?该文档没有具体说明这一点,对此事含糊其辞:
Glide 支持获取、解码和显示视频静止图像、图像和动画 GIF
特别令人感兴趣的是它支持哪些视频格式(如果有的话)(什么是视频静态?)。
SVG我在这个网址中有一张图片。svg 图像链接
。我想将此SVG图像从加载url到image view. 我曾经将此图像Glide加载到.SVGimage view
这是滑行代码:
Glide.with( context)
.setDefaultRequestOptions(new RequestOptions().timeout(60000))
.load( "https://restcountries.eu/data/zwe.svg" )
.thumbnail( 0.5f )
.override( 200, 200 )
.diskCacheStrategy( DiskCacheStrategy.ALL )
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
progressLayout.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
progressLayout.setVisibility(View.GONE);
flag_iv.setEnabled(true);
return false;
}
})
.into( flag_iv );
Run Code Online (Sandbox Code Playgroud)
XML代码: …
我正在使用滑动库来显示图像.我试图通过使用以下代码清除滑动缓存:
Glide.get(MainActivity.this).clearDiskCache();
Glide.get(MainActivity.this).clearMemory();
Run Code Online (Sandbox Code Playgroud)
上面的代码在Async中,我在Do背景部分调用.
当我运行这个时,我总是得到:
Caused by: java.lang.IllegalArgumentException: You must call this method on the main thread
at com.bumptech.glide.util.Util.assertMainThread(Util.java:135)
at com.bumptech.glide.Glide.clearMemory(Glide.java:370)
Run Code Online (Sandbox Code Playgroud)
这可能有什么问题?如果我在MainThread中使用上面的内容,则要求在后台运行它.
如何清除缓存?
谢谢!
我使用以下代码使用Glide从服务器加载图像:
private void loadImage(Context context, String url, ImageView imageView, int x1, int y1, int x2, int y2) {
Glide.with(context)
.load(url)
.into(imageView);
}
Run Code Online (Sandbox Code Playgroud)
我需要在ImageView中只显示一段图像.这件作品的坐标放在变量x1,x2,y1和y2中.如何使用Glide仅剪切所需的图像部分?
我刚刚在我的应用程序中将Glide库从v3更新到v4.但是现在我无法从网址加载图片.以前它与v3一起工作正常.
这是我的Glide代码:
Glide.with(context).load(galleryList.get(itemPosition).getImage()).thumbnail(Glide.with(context).load(R.drawable.balls)).apply(options).into(holder.kolamImage);
Run Code Online (Sandbox Code Playgroud)
v4有什么变化?我浏览了文档,但仍然没有帮助.
我正在使用Glide 4.3.0和wasabeef / glide-transformations在图像视图的左下角和右下角添加一个角半径。图像已加载,但未应用转换,并且角落看不到任何变化。
这是我的Glide转换:
Glide.with(context)
.load(message.imageUrl)
.apply(bitmapTransform(new RoundedCornersTransformation(25, 0, RoundedCornersTransformation.CornerType.BOTTOM)))
.into(aq.id(R.id.ivSingleImage).getImageView());
Run Code Online (Sandbox Code Playgroud)
我的进口如下:
import com.bumptech.glide.Glide;
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
import static com.bumptech.glide.request.RequestOptions.bitmapTransform;
Run Code Online (Sandbox Code Playgroud)
图像已加载,但未应用任何转换。这个实施正确吗?
我也试过CornerType.BOTTOM_LEFT和CornerType.BOTTOM_RIGHT
编辑
我注意到只有在scaleType设置为centerCrop时才会发生这种情况。如果我将其从XML中删除,它可以工作,但是图像的左右两侧有2个大空格:
<ImageView
android:id="@+id/ivSingleImage"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:background="@color/white"
android:scaleType="centerCrop" <!--Removing this works. But leaves two spaces on left and right sides-->
android:layout_marginEnd="5dp" />
Run Code Online (Sandbox Code Playgroud)
参考update ^,如何获得image centerCrop并仍具有舍入的变换?