是否有可能在我的Android应用程序中获取所有Windows的列表?
如果没有,是否可以在创建新视图或窗口时收到通知?
干杯:)
例如:我想知道屏幕上是否有可见的键盘视图,或者屏幕上是否有警告对话框.那可能吗?我可以获取视图或窗口实例吗?
是的,这可以通过多种不同的方式实现。屏幕上显示的所有视图都添加到 ViewGroup 中,这些视图通常是 R.layout.main、LinearLayout、RelativeLayout 等布局。
在构建布局后,您可以使用 onWindowFocusChanged 等处理程序在运行时访问视图:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
int count = myLayout.getChildCount();
for(int i = 0; i < count; i++)
{
View v = myLayout.getChildAt(i);
...
}
}
Run Code Online (Sandbox Code Playgroud)
您可以简单地在 onWindowFocusChanged 内设置一个线程,该线程会通过不断检查当前布局的子视图数量来通知您是否创建了键盘。
| 归档时间: |
|
| 查看次数: |
3230 次 |
| 最近记录: |