在放置在res文件夹中的微调器中显示图像

时间:2012-03-22 05:36:12

标签: android imageview drawable

我将图片放在以下路径中

res> drawable>图片>货币> [所有图片]

我制作了一个自定义微调器适配器。

viewHolder.flag = (ImageView) view.findViewById(R.id.UICurrencyCurrencyFlag);
            viewHolder.flag.setImageDrawable(drawable);

如何在ImageView中设置这些图像。图片格式为png

最好的问候

3 个答案:

答案 0 :(得分:1)

您有两个选择:

  1. 将所有图像放在没有子文件夹的可绘制文件夹中。
  2. 将所有图片放入资源中,并附上文件夹结构。
  3. 区别在于:

    1. 如果您选择方法1,则可以按ID检索资源。 (R.drawable。*)
    2. 如果您选择方法2,则可以维护文件夹,但需要将资源视为原始资源。
    3. 要打开资产文件夹中的文件,您可以参考上一篇文章: Opening a File from assets folder in android

      建议:

      将您的文件重命名为images_currency_image1.jpg,以避免使用子文件夹但保持唯一性。 我不确定你的情况是否有帮助。

答案 1 :(得分:0)

您实际上不需要在drawable文件夹中创建子文件夹。即使你这样做,也无法访问其中的内容。它甚至没有意义。为什么你需要子文件夹,当android正在照顾你的id给你drawables。您可以将图片直接放入res/drawable文件夹,例如res/drawable/[All images]。然后尝试按R.drawable.UICurrencyCurrencyFlag而不是R.id.UICurrencyCurrencyFlag进行访问。一切顺利。

答案 2 :(得分:0)

如果您放置在资产文件夹中,您可以按以下方式访问               InputStream位图;
          试试{
        bitmap = getAssets()。open(“icon.png”);
         位图位= BitmapFactory.decodeStream(位图);
           ImageView img =(ImageView)findViewById(R.id.myId);
           img.setImageBitmap(位);
    } catch(IOException e){
        // TODO自动生成的捕获块
        e.printStackTrace();
    }