gpt4 book ai didi

java - 在 Android 中迭代可绘制对象

转载 作者:行者123 更新时间:2023-12-02 01:59:36 24 4
gpt4 key购买 nike

在 Android 中,我只找到了如何从 MainActivity.java 打开单个特定 Drawable 的答案,但没有找到如何迭代 res/drawables 中的每个 DrawableDrawable 的名称不遵循任何模式(例如编号从 0 到 25),因此建议的答案为 here遗憾的是并不能解决我的问题。有谁知道后者该怎么做?

提前谢谢您:)

最佳答案

首先,将您的可绘制对象放入数组中

<array name="dashboard_item_menu_drawable">
<item>@drawable/ic_file_green</item>
<item>@drawable/ic_email_green</item>
<item>@drawable/ic_linear_scale_green</item>
<item>@drawable/ic_undo_green</item>
<item>@drawable/ic_check_circle_green</item>
<item>@drawable/ic_archive_green</item>
</array>

然后,迭代您的数组可绘制对象

val icons = ArrayList<Int>()
val arr = resources.obtainTypedArray(R.array.dashboard_item_menu_drawable)
(0 until arr.length()).forEach {
// get resource id of each drawable
val icon = arr.getResourceId(it, -1)
icons.add(icon)
}

接下来,回收资源

arr.recycle()

然后你就可以使用你的drawable了

iconView.setImageDrawable(ContextCompat.getDrawable(this, icons[index]))

关于java - 在 Android 中迭代可绘制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51824525/

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