gpt4 book ai didi

android - 如何从资源中随机选择(R.drawable.xxxx)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:08 28 4
gpt4 key购买 nike

我想显示我存储在 res/drawable 中的一堆图像中的随机图像。

我所知道的唯一技术是在知道资源 ID 的情况下访问特定图像。有没有办法通过使用文件名或其他东西(可以在运行时构建)来访问图像?

我想在运行时随机选择一张图片。任何建议/想法表示赞赏:)

谢谢金美

最佳答案

我意识到这是一个非常古老的问题,但我想为任何 Google 员工提供一个好的解决方案。

通过名称访问资源的效率远低于通过id。资源系统的全部意义在于您不必解析名称,而是可以使用 ID。

您需要做的是利用 Array Resource类型。跟随我的简单步骤!我制作随机图像...很有趣!

  1. 创建一个数组资源,其中包含您要从中选择的所有图像。我把它放在我的 res/values/arrays.xml 文件中,但它真的可以放在任何地方。

    <array name="loading_images">
    <item>@drawable/bg_loading_1</item>
    <item>@drawable/bg_loading_2</item>
    <item>@drawable/bg_loading_3</item>
    <item>@drawable/bg_loading_5</item>
    <item>@drawable/bg_loading_6</item>
    <item>@drawable/bg_loading_7</item>
    <item>@drawable/bg_loading_8</item>
    </array>
  2. 接下来,从 Resources 获取 TypedArray 并使用它来选择随机图像。

    TypedArray images = getResources().obtainTypedArray(R.array.loading_images);
    int choice = (int) (Math.random() * images.length());
    mImageView.setImageResource(images.getResourceId(choice, R.drawable.bg_loading_1));
    images.recycle();
  3. 利润!

关于android - 如何从资源中随机选择(R.drawable.xxxx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3497074/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com