0

我尝试随机更改 Activity ( onCreate ) 的背景。它卡在最后一步......显示它。也许有人对我有想法。

我在一个包含 5 个以上可绘制对象的 xml 文件中创建了一个数组 - 它看起来像这样..

<array name="backgrounds">
   <item>@drawable/bg1_320x480</item>
   <item>@drawable/bg2_320x480</item>
   <item>@drawable/bg3_320x480</item>
   <item>@drawable/bg4_320x480</item>
   <item>@drawable/bg5_320x480</item>
   <item>@drawable/bg6_320x480</item>
</array>

在我的主要活动中,我从数组中得到一个随机元素......

String[] mTempArray = getResources().getStringArray(R.array.backgrounds);
    int iMin = 0;
    int iMax = 5;
    int randomIndex = iMin + (int) (Math.random() * iMax);
    String resPath = mTempArray[randomIndex];

resPath 返回我(例如)res/drawable-hdpi/bg4_320x480.png。从那时起,我找到了很多解决方案,但没有什么能让我成功。

设置/更改/覆盖背景的最后一点是什么?

4

1 回答 1

1

资源 ID 只是一个整数——不需要处理字符串。您可以使用类似的东西 int[] imageIds = new int[] { R.drawable.bg1, R.drawable.bg2, ... }; ,选择一个随机元素,并将其设置为您的背景。不确定是否可以在 xml 中对资源 ID 数组进行编码。

于 2013-06-22T20:03:00.307 回答