【问题标题】:How to access res/drawable/"folder"如何访问 res/drawable/“文件夹”
【发布时间】:2011-11-24 23:50:39
【问题描述】:

在我的应用程序中,我有很多图片,我将它们分组在 res/drawable 下的文件夹中。但是 Android 不允许我通过“R”访问它们。有没有办法访问这些文件夹。

这是我使用的代码。

    ImageView iv = new ImageView(conext);
    iv.setImageResource(R.drawable.**smiley.666**);

我标记了我无法访问的部分。

提前致谢

野生动物园

【问题讨论】:

    标签: android drawable android-imageview


    【解决方案1】:

    不,Android 不允许 /res/drawable:Can the Android drawable directory contain subdirectories? 下的子文件夹

    但是,您可以在/drawable 下添加所有图像文件,然后通过以下方式以编程方式访问它们:

    int drawableID = context.getResources().getIdentifier("drawableName", "drawable", getPackageName());
    iv.setImageResource(drawableID);
    

    其中drawableName 是可绘制文件的名称,即myimage,如果图像文件是myimage.jpg

    上面的代码会得到id为R.drawable.drawableName的图片资源。

    【讨论】:

      【解决方案2】:

      R.drawable.xxx 只是 Android SDK 在您的 R.java 文件中生成的一个引用。您正在尝试在 res 文件夹中创建一个子文件夹。 SDK 无法生成对任何子文件夹的引用,您必须将其放在预定义的文件夹 drawable-hdpi、-ldpi 和 -mdpi 中。 如果你不知道这是如何工作的。我总结一下。 Android 可以在具有许多不同屏幕分辨率的许多不同设备上运行。使用这三个文件夹,您可以在三种分辨率下拥有相同的图片,并且根据您运行应用程序的设备,将使用这三个文件夹之一。你可以在这里阅读更多: http://developer.android.com/guide/practices/screens_support.html

      【讨论】:

        【解决方案3】:

        您不能在 res/drawable 中创建文件夹,系统无法识别这些文件夹。

        【讨论】:

          【解决方案4】:

          您需要先保存您的图片,然后为他们制作一个 xml,以便您可以通过 R.your_pics 访问它

          【讨论】:

            【解决方案5】:
            context.getResources().getDrawable(R.drawable.progressbar1);
            

            Android - Open resource from @drawable String

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-10-07
              • 1970-01-01
              • 2011-10-11
              • 1970-01-01
              相关资源
              最近更新 更多