如何通过Glide SDK 4.3.1在touchimageview中加载位图?

时间:2017-11-24 06:56:49

标签: android android-glide

我试图将文件作为位图加载到TouchImageview中。如果我使用普通图像视图而不是触摸图像视图,Glide库可以从文件对象加载图像,但是在触摸图像视图的情况下,Glide无法加载图像。

也使用以下代码:

 Glide.with(this).asBitmap().load(file).into(new SimpleTarget<Bitmap>(250, 250) {

            @Override
            public void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) {
                    touchImageView.setImageBitmap(resource);
            }

            @Override
            public void onLoadFailed(@Nullable Drawable errorDrawable) {
                super.onLoadFailed(errorDrawable);
            }
        });

但使用errorDrawable调用 OnLoadFailed() null

1 个答案:

答案 0 :(得分:1)

好吧,我刚刚发现有关xml的信息。请注意,您必须使用相对布局!

 <RelativeLayout
        android:layout_width="match_parent"
        android:gravity="center"
        android:layout_height="match_parent">

        <my.zuhrain.kit.TouchImageView
            android:layout_marginTop="20dp"
            android:id="@+id/image_view_main"
            android:layout_width="400dp"
            android:layout_height="400dp" />

 </RelativeLayout>

然后我们去

 storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
            @Override
            public void onSuccess(Uri uri) {
                //things need to know
                //USE RELATIVE LAYOUT!
                Glide.with(getApplicationContext())
                        .asBitmap()
                        .load(uri)
                        .into(new SimpleTarget<Bitmap>() {
                            @Override
                            public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
                                touchImageView.setImageBitmap(resource);
                            }
                        });
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
            }
        });