通过路径从drawable获取图像

时间:2018-03-20 15:43:58

标签: android

我试图通过路径获取可绘制文件夹内的图像 所以我试试这个但没有工作

  String path = "android.resource:///" + BuildConfig.APPLICATION_ID + "/drawable/logo_ataturk";
    File imgFile = new File(path);
    if (imgFile.exists()) {
        Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

        ImageView imgLogo = findViewById(R.id.imageView_logo);
        imgLogo.setImageBitmap(myBitmap);
    }

3 个答案:

答案 0 :(得分:1)

我找到了这个最简单的解决方案

  Uri path = Uri.parse("android.resource://" + BuildConfig.APPLICATION_ID +  "/drawable/logo_ataturk");
    ImageView imgLogo = findViewById(R.id.imageView_logo);
    imgLogo.setImageURI(path);

答案 1 :(得分:0)

资源不是设备上的文件。它们是开发人员计算机上的文件,仅此而已。

您可以使用以下代码替换所有代码:

ImageView imgLogo = findViewById(R.id.imageView_logo);
imgLogo.setImageResource(R.drawable.logo_ataturk);

答案 2 :(得分:0)

 Drawable drawable = getResources().getDrawable(getResources()
                  .getIdentifier($name_of_the_image, "drawable", getPackageName()));

Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.large_icon);
imgLogo.setImageBitmap(myBitmap);