sách gpt4 ai đã đi

android - Glide - 如何将圆形裁剪应用于错误图像?

In lại 作者:行者123 更新时间:2023-12-05 05:50:17 29 4
mua khóa gpt4 Nike

我可以通过滑动将图像成功加载到 ImageView 中,并使用 .circularCrop() 方法对其进行裁剪。

Glide.with(this)
.load("../../../QjQGiPj.jpeg")
.circleCrop()
.into(hình ảnhXem);

如果加载的 url 因 .error(R.drawable.placeholder) 而失败,我正在尝试添加错误占位符 Drawable.

问题是错误占位符不会使用 Circle 裁剪来裁剪错误图像。

加载成功:

nhập mô tả hình ảnh ở đây

加载不成功:

nhập mô tả hình ảnh ở đây

如何将 .circleCrop() 也应用于错误占位符图像?

我试过向 Hình ảnhXem 添加圆形可绘制背景,但这不起作用

bgr_circular



android:shape="oval">




android:id="@+id/image_view"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/bgr_circular"/>

测试代码:

implementation 'com.github.bumptech.glide:glide:4.10.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'
public class MainActivity extends AppCompatActivity {

private static final String TAG = "MainActivity";

@Ghi đè
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ImageView imageView = findViewById(R.id.image_view);
Button button = findViewById(R.id.btn_test);
button.setOnClickListener(v -> {
Glide.with(this)
.load("https://i.imgur.com/QjQGiPj.jpe") //Test with incorrect url
.circleCrop()
.error(R.drawable.placeholder)
.into(hình ảnhXem);
});
}

}


android:layout_width="phù hợp với cha mẹ"
android:layout_height="phù hợp với cha mẹ"
android:orientation="vertical">

<>
android:id="@+id/btn_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Load Image"/>


android:id="@+id/image_view"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/bgr_circular"/>




android:shape="oval">



编辑 1:______________________________________________________________

我试过使用 Glide 的 github 中的一种旧解决方案

https://github.com/bumptech/glide/issues/1212#issuecomment-221751860

但这并不完全有效。

Bitmap placeholder = BitmapFactory.decodeResource(this.getResources(), R.drawable.placeholder);
RoundedBitmapDrawable circularBitmapDrawable = RoundedBitmapDrawableFactory.create(this.getResources(), placeholder);
circularBitmapDrawable.setCircular(true);


Glide.with(this)
.load("https://i.imgur.com/QjQGiPj.jpe")
.circleCrop()
.error(circularBitmapDrawable)
.into(hình ảnhXem);

nhập mô tả hình ảnh ở đây

1 Câu trả lời

您可以将 RoundedBitmapDrawable 用于带有 Glide 的圆形图像。不需要自定义 ImageView

 Glide.with(context).load(url).asBitmap().centerCrop().into(new BitmapImageViewTarget(imageView) {
@Ghi đè
protected void setResource(Bitmap resource) {
RoundedBitmapDrawable circularBitmapDrawable =
RoundedBitmapDrawableFactory.create(context.getResources(), resource);
circularBitmapDrawable.setCircular(true);
imageView.setImageDrawable(circularBitmapDrawable);
}
});

关于android - Glide - 如何将圆形裁剪应用于错误图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70535665/

29 4 0
Bài viết được đề xuất: python - 绘制月亮被照亮的百分比
Bài viết được đề xuất: c# 并行运行 selenium 浏览器
Bài viết được đề xuất: node.js - Chai 测试 TypeError : Converting circular structure to JSON
Bài viết được đề xuất: java.util.ArrayDeque 与 kotlin.collections.ArrayDeque
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com