小编Swi*_*ift的帖子

如何在Android上使用Glide获得原始图像大小?

我正在从动态来源加载图像并将其加载到我的应用程序中。但是有时图像太小,在我的应用中看起来很糟糕。我要做的是获取图像大小,如果小于5x5,则完全不显示ImageView。

如何实现呢?

当我使用sizeReadyCallback时,它返回ImageView的大小而不是图像。当我使用请求侦听器时,它返回0,0。

Glide.with(getContext()).load(imageUrl).listener(new RequestListener<String, GlideDrawable>() {
        @Override
        public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
            return false;
        }

        @Override
        public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
            //This returns 0,0
            Log.e("TAG","_width: " + resource.getBounds().width() + " _height:" +resource.getBounds().height());
            return false;
        }
    }).into(ivImage).getSize(new SizeReadyCallback() {
        @Override
        public void onSizeReady(int width, int height) {
            //This returns size of imageview.
            Log.e("TAG","width: " + width + " height: " + height);
        }
    });
Run Code Online (Sandbox Code Playgroud)

android android-glide

8
推荐指数
3
解决办法
9600
查看次数

如何获取使用 Intent.ACTION_OPEN_DOCUMENT 选取的文件的文件扩展名?

我想获取我用 Intent.ACTION_OPEN_DOCUMENT 选择的文件的文件扩展名。如何获得?

这就是我启动选择器的方式:

private void startFilePicker(){
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    intent.setType("*/*");
    intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
    startActivityForResult(intent, CODE_ACTION_OPEN_DOCUMENT_FILE);
}
Run Code Online (Sandbox Code Playgroud)

这是选择文件时的回调:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);


        //region New Picker

        if (requestCode == CODE_ACTION_OPEN_DOCUMENT_FILE){
            if (resultCode == RESULT_OK){

                if (data != null){
                    if (data.getData() != null){
                        Uri uri = data.getData();
                        //Get file extension here.
                    }
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我尝试通过执行以下操作来获取文件路径时uri.getPath(),我得到类似image:105571, 或 的信息acc=1;doc=9204。所以我无法从路径中获取它。

问题是如何确定所选文件的文件扩展名?

java android

1
推荐指数
1
解决办法
2236
查看次数

标签 统计

android ×2

android-glide ×1

java ×1