Android 如何检测小部件是否在屏幕上/屏幕下?

Android 如何检测小部件是否在屏幕上/屏幕下?,android,android-widget,Android,Android Widget,我正在编写一个类似于网格的定制视图,用于保存大量图像。我使用ImageButton来显示图像,我只想在按钮出现在屏幕上时将图像加载到按钮上(当它们不在屏幕上时只显示静态背景图像)。原因是我正在从一些后端服务获取图像,我只想在按钮出现在屏幕上时获取它们 为此,我想知道小部件是否在屏幕上。是否有可能检测像按钮这样的小部件是否在屏幕上?如果没有,有没有关于如何实现我的目标的建议?我认为你做不到。创建小部件时,框架只会向您发送一个onUpdate请求,然后根据您的更新策略再次发送请求 我不明白当小部件没

我正在编写一个类似于网格的定制视图,用于保存大量图像。我使用ImageButton来显示图像,我只想在按钮出现在屏幕上时将图像加载到按钮上(当它们不在屏幕上时只显示静态背景图像)。原因是我正在从一些后端服务获取图像,我只想在按钮出现在屏幕上时获取它们


为此,我想知道小部件是否在屏幕上。是否有可能检测像按钮这样的小部件是否在屏幕上?如果没有,有没有关于如何实现我的目标的建议?

我认为你做不到。创建小部件时,框架只会向您发送一个
onUpdate
请求,然后根据您的更新策略再次发送请求


我不明白当小部件没有显示时为什么要更改图像。这样做并没有为操作系统节省任何资源;它已经知道不在屏幕上绘制小部件。

您可以从Android 2.1a开始使用以下内容来检查屏幕是否打开

PowerManager mPower = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
boolean screen_is_on = mPower.isScreenOn();
谢谢克里斯托弗:)对不起,我的问题没有解释清楚。我正在通过调用服务加载图像,我只想在图像出现在屏幕上后进行服务调用。(刚刚更新了问题)