gpt4 book ai didi

android - 在电池电量 Android 上更改图像

转载 作者:行者123 更新时间:2023-11-30 03:31:29 26 4
gpt4 key购买 nike

我的应用程序显示电池电量。我有三个电池图片;一个绿色,一个黄色,另一个红色。当电池电量变化时,我想在图像中查看这些图像。例如:当电池电量为 100% 时,将有绿色电池,50% 时为黄色,20% 为红色。我该怎么做?现在我在 ListView 中有一个静态图像,就像这样:

            <ImageView
android:id="@+id/BatteryInfoimage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="image"
android:adjustViewBounds="true"
android:src="@drawable/battery"
/>

谢谢

最佳答案

您可以使用 BatteryManager 获取电池电量.查看文档 here

int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

float batteryPct = level / (float)scale;

现在从代码中根据batterPct设置具体图片

并使用以下方法监控更改

声明一个 BroadCastReceiver

<receiver android:name=".PowerConnectionReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
</intent-filter>
</receiver>

在关联的 BroadcastReceiver 实现中,您可以提取当前的充电状态和方法,如上一步所述。

public class PowerConnectionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
status == BatteryManager.BATTERY_STATUS_FULL;

int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
}
}

关于android - 在电池电量 Android 上更改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17390788/

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