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

本文探讨了Android中视图(View)的定制方法及其优化技巧,包括如何通过自定义View实现图片拖动功能,并深入讨论了onDraw()方法的作用及其实现细节。此外,文章还介绍了如何使用ImageButton改善拖动效果,以及如何利用layout()函数实现随机定位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在看到现行手机能够趋近拥有与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

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

转载于:https://my.oschina.net/u/128133/blog/14381

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值