技术控

    今日:117| 主题:49225
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] 【译】Android: 自定义 View

[复制链接]
時間結束所有 发表于 2016-11-27 22:38:34
12 5

立即注册CoLaBug.com会员,免费获得投稿人的专业资料,享用更多功能,玩转个人品牌!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
每天我们都会使用很多的应用程序,尽管他们有不同的约定,但大多数应用的设计是非常相似的。这就是为什么许多客户要求使用一些其他应用程序没有的设计,使得应用程序显得独特和不同。
  如果功能布局要求非常定制化,已经不能由Android内置的View创建 —这时候就需要使用自定义View了。而这意味着在大多数情况下,我们将需要相当长的时间来完成它。但这并不意味着我们不应该这样做,因为实现它是非常令人兴奋和有趣的。
   我最近面临了类似的情况:我的任务是使用 ViewPager 实现Android应用引导页。不同于iOS,Android并没有提供这样的View,所以我不得不编写一个自定义View来实现它。
   我花了一些时间来实现它。幸运的是,时下很多开源项目都有类似可复用的View,这节省了我和其他开发者的时间。我决定基于这种View创建一个公共库。如果你有类似的功能需求并且缺乏时间实现它,可以在 github repo 发现它。
   
【译】Android: 自定义 View-1 (Android,应用程序,开发者,项目,幸运)

  绘制!

  因为编写自定义View比起普通的View更耗时,你应该只在为了实现特定的功能但没有更简单的方法情况下使用自定义View,或者你希望通过自定义View解决以下问题:
  
       
  • 性能。如果你布局里面有很多View,你想通自定义View优化它,使其更轻量。   
  • 视图层次结构复杂。   
  • 一个完全自定义的View,需要手动绘制才能实现。  
  如果你还没有尝试过编写自定义View,这篇文章将教会你绘制扁平的自定义View的一些技巧。我将会告诉你整体的视图结构,如何实现具体的功能,不要重犯常见的错误,以及实现动画效果!
  我们需要知道的第一件事 –View的生命周期。不知出于某种原因,谷歌并没有提供View生命周期的图表,由于开发者普遍对其有误解,导致了一些意想不到的错误和问题,所以我们要认清这过程。

【译】Android: 自定义 View-2 (Android,应用程序,开发者,项目,幸运)

  构造函数

  每个View的生命都是从构造函数开始。而且这是一个绘制初始化,进行各种计算,设定默认值或做任何我们需要的事情很好的地方。
   但是,为了使我们的View更易于使用和配置,Android提供了很有用的 AttributeSet 接口。它很容易实现,而且绝对值得花时间去了解和实现它,因为它会帮助你(和你的团队)通过静态参数来设置View,对于以后新特性加入或者新屏幕拓展性支持也更好。
   首先,创建一个新的文件 attrs.xml 。所有不同的自定义View属性都可以放在该文件中。正如你看到的这个例子,我们有一个PageIndicatorView和它的唯一属性piv_count。
1234下一页
友荐云推荐




上一篇:H5 的复制操作
下一篇:CSS3 transform
酷辣虫提示酷辣虫禁止发表任何与中华人民共和国法律有抵触的内容!所有内容由用户发布,并不代表酷辣虫的观点,酷辣虫无法对用户发布内容真实性提供任何的保证,请自行验证并承担风险与后果。如您有版权、违规等问题,请通过"联系我们"或"违规举报"告知我们处理。

可乐天曲 发表于 2016-11-27 23:58:42
珍爱生命,果断回帖。
回复 支持 反对

使用道具 举报

青易 发表于 7 天前
星期一加班灌水!
回复 支持 反对

使用道具 举报

32143 发表于 6 天前
楼主想办法,让咱的帖子火起来吧。。。。
回复 支持 反对

使用道具 举报

zkkxgy00 发表于 4 天前
与时俱进,你我共赴高潮!  
回复 支持 反对

使用道具 举报

嫣然月 发表于 4 天前
那些路人甲乙丙丁在年生散场的剧场里将五彩纷呈和苍白无力潇洒的演绎。
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我要投稿

推荐阅读

扫码访问 @iTTTTT瑞翔 的微博
回页顶回复上一篇下一篇回列表手机版
手机版/CoLaBug.com ( 粤ICP备05003221号 | 文网文[2010]257号 )|网站地图 酷辣虫

© 2001-2016 Comsenz Inc. Design: Dean. DiscuzFans.

返回顶部 返回列表