В настоящее время у меня есть индикатор выполнения, созданный с помощью следующего кода в Android. У меня есть 4 определенных уровня прогресса. Есть ли способ сделать эту работу с 4 картинками вместо индикатора выполнения? (т.е. аккумулятор показывает разные уровни заряда?) Я также хотел бы, чтобы это отображалось на панели действий приложения в правом углу (в настоящее время в основном корпусе).
Это пытается отследить уровень мощности устройства Bluetooth, к которому я подключаюсь.
Любая помощь высоко ценится.
public void Proc_Show_Level()
{
getMainActivity().runOnUiThread(new Runnable() {
public void run() {
int lev, col;
String img;
switch (Power_Level) {
case 1:
case 2:
lev = 30;
col = Color.RED;
break;
case 3:
lev = 60;
col = Color.YELLOW;
break;
case 4:
lev = 100;
col = Color.GREEN;
break;
default:
lev = 100;
col = Color.GRAY;
break;
}
mProgress.getProgressDrawable().setColorFilter(
col, android.graphics.PorterDuff.Mode.SRC_IN);
mProgress.setScaleY(3f);
mProgress.setProgress(lev);
}
}
);
}
Ниже приведено то, что я пытаюсь до сих пор, но я не знаю, правильный ли это путь для этого.
Код, который у меня есть в Mainactivity.java для моего устройства с аккумулятором bluetooth, в настоящее время показан ниже, где я пытаюсь назначить правильное изображение в зависимости от уровня заряда батареи для переменной resImage2. Строки, на которые я ссылаюсь, - это просто ссылки на изображения, которые я хочу использовать в папке для рисования, например string.bat_green = "@ drawable / short_bat_green"
public String resImage2;
@Override
protected void onCreate(Bundle savedInstanceState) {
if (bat_level.equals("Full")) {
resImage2 = getString(R.string.bat_green);
if (bat_level.equals("Yellow")) {
resImage2 = getString(R.string.bat_yel);
if (bat_level.equals("Red")) {
resImage2 = getString(R.string.bat_red);
if (bat_level.equals("Critical")) {
resImage2 = getString(R.string.bat_grey);
}
}
}
}
Так что теперь я думаю, что мне нужно найти способ передать любое resImage2 к коду, который у меня есть в menu_main, чтобы заменить строку "android: icon =" @ drawable / short_bat_grey "информацией в resImage2. Но в настоящее время у меня есть не знаю, как это сделать, если кто-то может помочь, пожалуйста.
<item
android:id="@+id/bat_empty"
android:title="bat_r"
android:icon = "@drawable/short_bat_grey"
app:showAsAction="ifRoom"
/>