动态获取可绘制由ID [英] Dynamically get drawables by ID

查看:179
本文介绍了动态获取可绘制由ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想借此字节并将其附加到一个资源ID,以便能够获得对应于在游戏中号甲板上的图像。这是很容易与其它设备的路径,但随着资源的ID我不确定我怎么可能去做到这一点。

I want to take a byte and append it to a resource ID to be able to get the image that corresponds to that numbered deck in the game. It was easy to with paths on other devices, but with the Resource ID's I am unsure how I could go about do this.

下面是我现在有:

switch(GameSettings.gameDeck)
    {
    case 1:
        deckImage.setBackgroundResource(R.drawable.deck1);
        break;
    case 2:
        deckImage.setBackgroundResource(R.drawable.deck2);
        break;
    case 3:
        deckImage.setBackgroundResource(R.drawable.deck3);
        break;
    case 4:
        deckImage.setBackgroundResource(R.drawable.deck4);
        break;
    }

在此我的黑莓版本,我只是有:

In my Blackberry version of this, I simply had:

deckImage.setBitmap(Bitmap.getBitmapResource("/path/deck" + GameSettings.gameDeck + ".png"));

有没有办法来完成对Android的类似的东西使用资源的ID?

Is there a way to accomplish something similar using Resource IDs on Android?

推荐答案

使用 getResources()。则getIdentifier()上下文(例如,活动),但请缓存结果,如果你会用它不止一次。 则getIdentifier()资源实施

Use getResources().getIdentifier() from your Context (e.g., Activity), but please cache the result if you will use it more than once. getIdentifier() is implemented on Resources.

有关更多信息,请参阅<一href="http://stackoverflow.com/questions/2129110/batch-getting-many-bitmap-resources-on-android">this和<一href="http://stackoverflow.com/questions/2349652/android-open-resource-from-drawable-string">this和<一href="http://stackoverflow.com/questions/2398264/is-there-a-way-to-arbitrarily-load-resources-at-runtime-in-android">this.

For more, see this and this and this.

这篇关于动态获取可绘制由ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆