java/android组件

来源:互联网 发布:阿里云邮箱地址怎么填 编辑:程序博客网 时间:2024/06/03 11:18

        在开发中必须使用到组件,这是可视化开发的必要需求,而java/android自身有提供足够的组件供我们进行必要的开发需要,同时我们还可以自定义组件以强化开发的自由度和提升组件的性能,外观等开发需求。

        组件只是组件树的一部分,组件树上面存在大量的相关联组件,这些组件提供我们开发某一类型的组件的模型,我们以此为基础,创建我们想要的组件。因此掌握组件应该以掌握组件树为准则,这样可以简洁的记忆组件树的各组件。

        Dialog类。对话框类是用于开发对话框的类,这种类的组件树上面的所有组件都是用于开发对话框的。以AlertDialog为例,使用AlertDialog.Builder类进行AlertDialog的实例化,AlertDialog是使用内部类Builder类进行的实例化,其中有很多的setxx()方法进行各种设置,但是其中关键的是create(),show()方法(实际上这两个方法源于Builder类的方法,同时注意,必须在使用了Builder.create()之后,dialog.getWindow().setLayout()之前使用show(),不然不起作用。实际上create(),show()返回的都是AlertDialog)。总的来说,AlertDialog使用Builder进行样式设置,创建,然后使用show()方法显示。(show()应该多注意,因为有时候忘了设置show(),就会显示不出来)

        AlertDialog的按钮有几种样式,分别是取消,确定,一般等,同时还可以设置AlertDialog的内容。简而言之,AlertDialog基本可以满足大多数的对话框要求,因为AlertDialog基本上封装了常用样式,同时还可以进行自定义样式。

        可视化设计会涉及到WindowManager类,Dialog类也会涉及到,使用WindowManager可以用于设置对话框的相关参数等。(未完成)

        若要自定义Dialog,需要继承Dialog类。同时可以使用样式文件进行样式加载。(未完成)

        Activity类提供了onCreateDialog(),onPrepareDialog(),showDialog()用于Dialog的创建,保存,恢复,同时Dialog的getOwnerActivity()可以得到拥有自身的Activity。


        Toast类是常用组件,与对话框不同的是Toast类,并无组件树,因为对话框比没有那个必要,但是正因为如此,我们基本上使用Toast类就可以实现我所想要的各种Toast类,也就是说我们可以得到所想要的各种提示框。Toast类可以自定义位置,内容,样式,显示时间等。(注意,显示的时间实际上无论怎么设置,都是只有两种情况而已,这里要如何设置显示时间上还未掌握),同时,还可以使用样式文件进行样式加载。

        PopupWindow类。该类会阻断其他的程序运行(或者说阻断线程),这点和AlertDialog相反。同时,PopupWindow类又是极为麻烦的,它不能直接设置showAtLocation()。而且showAtLocation(),update()都要调用。对于里面有组件的PopupWindow,findViewById()要慎重,还要指明所在的View。对于希望满屏显示可以使用DiaplayMetrics进行。同时注意,PopupWindow弹出后,back键无效了,需要设置PopupWindow.dismiss()解除。PopupWindow弹出后不响应键盘事件是因为焦点已经到PopupWindow内部View去了,可以在PopupWindow的View上设置setOnKeyListener(),这样就能解除了。(未完成)

        Button类。Button类是使用最多的组件,也是最重要的组件。Button类所在的组件树是最常用的组件树。Button类可以通过样式文件自定义样式,设置触发形式(未完成)

        WindowManager类(未完成)



(注意,对于组件,都有共同的特点,就是样式,触发时间,触发的方式,如长按,按下,松开等。)


未完成



原创粉丝点击