android中一些view处理(拖动,定位,显示,图层)

来源:互联网 发布:sftp端口 编辑:程序博客网 时间:2024/05/17 23:00
在看到现行手机能够趋近拥有与pc机相同性能的同时,我们不难发现各种应用、软件都移植到了手机上,略从android,iphone,ophone等智能手机系统,我们便能一叶知秋了。

      每天学习着android,会发现这样一个感受,android中很多东西对于一个喜欢口若悬河的家伙必然显得非常容易。慢慢解决问题的过程中才发 现,android需要我们自己去摸,去体会,即使市面上不乏很多优秀的书籍,但各有千秋,又各有瑕疵与短见。或者说,有些书适合入门,有些适合进阶,有 些适合探究等等。闲话休提,且入正题。

       除了android中“四大件”(我喜欢这样称呼他们,activity,service,broadcast、data-provider),还有我们 必不可少的,用户体验离不开的,手机要吸引人不能不考虑的就是View,View家族很强大,其子类很丰富,从TextView到Button。了解了 android手机设计对于MVC模式之重视程度是必不容忽视的,不仅使我们在设计体验了方便,也让我们直观看到各种布局样式,很易理解android中 各种容器,组件的层次。

       前面做过一个例子:想做一个对图片进行拖动的程序,便考虑到用自己写一个View子类。这个过程让我主动去了解onDraw(),以及其被调用的时间和境 况,因为图片移动过程中是View进行更新的结果!完成之后,发现onDraw中的drawBitmap()给我出来一道难题:图片越大,拖动效果越差, 近乎剩下突变!后来找到网上找到一个拖动Button的例子,效果很好,于是想到用ImageButton代替之,果然效果很好,便以为 ImageButton乃“神物”也,便亲之有加。后冷静思索,比较代码,发现是由于在ImageButton中直接将图片设为background才导 致拖动栩栩如生!应用至MyView,也一样了,但个中原因还需再花功夫才能与大家分享。

       想接着上面的MyView谈,发现我用上了一个倒叙的说法。随机定位,这个功能是在拖动之前实验的。反反复复的找了View的setX()函数,很失 望,android没有(有getWidth()等函数)。不卖关子了:你用layout(a,b,c,d)函数效果极佳!注意:牢牢监视a,b参数,便 能在图片定位方面为所欲为了。

       显示方面,我想说的是别忽视Layout这个类的布局功能,简单了解之,便能很容易掌握。习惯了ps,flash,j2me中的图层的叫法,可能很难找到android它能帮助你想要完成的功能,记住FrameLayout,用它便能玩玩图层什么的。

       很惊异的发现:

java.lang.Object   ↳android.view.View    ↳android.view.ViewGroup     ↳android.widget.AbsoluteLayout

  而:

java.lang.Object   ↳android.text.Layout

我相信是合理的存在,所以还有很多,我们期待共同发现,探究!

原创粉丝点击