您的位置:首页 > 移动开发 > Android开发

Android Window 9问9答

2016-02-11 15:20 561 查看
1.简述一下window是什么?在android体系里 扮演什么角色?

答:window就是一个抽象类,他的实现类是phoneWindow。我们一般通过windowManager 来访问window。就是windowmanager 和windowmanagerservice的交互。

此外 android中 你所有能看到的视图,activity,dialog,toast等 都是附加在window上的。window就是view的直接管理者。

2.如何使用windowmanager添加一个view?

答:

Dialog dialog=new Dialog(MainActivity.this.getApplicationContext());
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
TextView textView=new TextView(MainActivity.this);
textView.setText("this is dialog not use activity this");
dialog.setContentView(textView);
dialog.show();


View Code

9.toast的window创建过程?

答:这属于系统级别的window创建了,和前面的两种window创建过程稍微不一样。其实主要就是notificationmanagerservice和toast本身之间两者的相互调用而已。

就是简单的ipc过程。前面binder的教程有讲到,如何利用binder来进行双向通信。toast的源码 就是利用了binder的双向通信来完成toast的功能。

源码就不分析了,ipc的东西讲过太多了,有兴趣的可以自己看。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: