如何在Android studio中基于数字或值更新图像
我正在开发一个android应用程序,我需要根据一个值(不是一个功能性应用程序,只是对设计做一个概述)来更改/更新电池的图像(png) 当值更改时,如何更新图像如何在Android studio中基于数字或值更新图像,android,Android,我正在开发一个android应用程序,我需要根据一个值(不是一个功能性应用程序,只是对设计做一个概述)来更改/更新电池的图像(png) 当值更改时,如何更新图像 value 25-image1.png 值50-image2.png 值75-image3.png等您可以在以下内容中使用: switch (num) { case 0: imageview.setImageResource(R.drawable.img_0);
value 25-image1.png
值50-image2.png
值75-image3.png等
您可以在以下内容中使用:
switch (num) {
case 0:
imageview.setImageResource(R.drawable.img_0);
break;
case 1:
imageview.setImageResource(R.drawable.img_1);
break;
case 2:
imageview.setImageResource(R.drawable.img_2);
break;
case 3:
imageview.setImageResource(R.drawable.img_3);
break;
}
您可以使用setImageResource()方法: 或使用setImageDrawable()方法:
只需对要使用的图像资源设置一个级联if-else条件
ImageView batteryImg = (ImageView) findViewById(R.id.img_battery);
int imgRes = 0;
int battery = getBatteryLevel(); // TODO: Implement
if (battery >= 100) {
imgRes = R.drawable.battery_full;
} else if (battery >= 75) {
imgRes = R.drawable.battery_three_quarters;
} else if (battery >= 50) {
imgRes = R.drawable.battery_half;
}
// and so on...
else {
imgRes = R.drawable.battery_low;
}
batteryImg.setImageResource(imgRes);
您应该在XML中使用
看起来像是一个简单的switch语句,应该执行以下操作:为什么要解码位图?使用setImageResource(R.drawable.img_0)@cyroxis-Ah,不知道这些。谢谢!
myImgView.setImageDrawable(getResources().getDrawable(R.drawable.image1));
ImageView batteryImg = (ImageView) findViewById(R.id.img_battery);
int imgRes = 0;
int battery = getBatteryLevel(); // TODO: Implement
if (battery >= 100) {
imgRes = R.drawable.battery_full;
} else if (battery >= 75) {
imgRes = R.drawable.battery_three_quarters;
} else if (battery >= 50) {
imgRes = R.drawable.battery_half;
}
// and so on...
else {
imgRes = R.drawable.battery_low;
}
batteryImg.setImageResource(imgRes);
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="25" android:drawable="@drawable/battery_low" />
<item android:maxLevel="50" android:drawable="@drawable/battery_medium" />
<item android:maxLevel="75" android:drawable="@drawable/battery_high" />
<item android:maxLevel="100" android:drawable="@drawable/battery_full" />
</level-list>
someView.setImageResource(R.drawable.battery_level); // Or set in XML
someView.setImageLevel(47); // Or whatever the current battery level is