Android通过名称找图片
开发中往往会遇到这种情况:在Drawable文件夹中有若干张相似的图片(这里的相似指的是不仅图片名称相似,用途也相似),现在要根据用户的某个操作选出其中的一张。例如,在类似微信语音功能的开发中,按住“说话”按钮可以录入用户说的话,这时,需要有一张图片实时记录用户说话时的音量等级(1到7),我们可以在drawable文件夹中放7张图片,其名称分别为“voice1.png”->“voice7.png”,用其他代码获取当前用户说话的音量等级之后,再通过等级1-7找到图片voice1.png-voice7.png。具体代码如下(代码中的函数只用来获取图片的ID,事后将ID赋值给ImageView即可):
1 public int getImageByVoiceLevel(Context context, int level){ 2 return context.getResources().getIdentifier("voice" + level, "drawable", context.getPackageName()); 3 // 在当前上下文所在包的drawable文件夹中找到名为voice?的图片 4 }