按路径更改活动背景

时间:2013-06-22 19:51:41

标签: android android-activity background-image

我尝试随机更改Activity(onCreate)的背景。它停留在最后一步......显示出来。也许有人对我有所了解。

我在xml文件中创建了一个包含5+ drawable的数组 - 它看起来像这样......

<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 。从现在开始,我找到了很多解决方案,但没有什么能让我获得成功。

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

1 个答案:

答案 0 :(得分:1)

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