- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
Android自定义实现一个省份简称键盘
目录一、分析UI,如何布局二、设置属性和方法,制定可扩展效果设置属性定义方法三、关键源码剖析定义身份简称数组遍历省份简称追加最后一个View四、开源地址及使用总结Maven具体调用代码使用总结hello啊各位老铁,这篇文章我们重新回到Android当中的自定义View,其实最近一直在搞Flutter,初步想法是,把Flutter当中的基础组件先封装一遍,然后接着各个工具类,列表,网络,统统由浅入深的搞一遍,弄完Flutter之后,再逐步的更新Android当中的技术点,回头一想,还是穿插着来吧,再系统的规划,难免也有变化,想到啥就写啥吧,能够坚持输出就行。
今天的这个知识点,是一个自定义View,一个省份的简称键盘,主要用到的地方,比如车牌输入等地方,相对来说还是比较的简单,我们先看下最终的实现效果:
实现方式呢有很多种,我相信大家也有自己的一套实现机制,这里,我采用的是组合View,用的是LinearLayout的方式。
今天的内容大致如下:
1、分析UI,如何布局
2、设置属性和方法,制定可扩展效果
3、部分源码剖析
4、开源地址及实用总结
一、分析UI,如何布局
拿到UI效果图后,其实也没什么好分析的,无非就是两块,顶部的完成按钮和底部的省份简称格子,一开始,打算用RecyclerView网格布局来实现,但是最后的删除按钮如何摆放就成了问题,直接悬浮在网格上边,动态计算位置,显然不太合适,也没有这样去搞的,索性直接抛弃这个方案,多布局的想法也实验过,但最终还是选择了最简单的LinearLayout组合View形式。
所谓简单,就是在省份简称数组的遍历中,不断的给LinearLayout进行追加子View,需要注意的是,本身的View,也就是我们自定义View,继承LinearLayout后,默认的是垂直方向的,往本身View追加的是横向属性的LinearLayout,这也是换行的效果,也就是,一行一个横向的LinearLayout,记住,横向属性的LinearLayout,才是最终添加View的直接父类。
换行的条件就是基于UI效果,当模于设置length等于0时,我们就重新创建一个水平的LinearLayout,这就可以了,是不是非常的简单。
至于最后的删除按钮,使其靠右,占据两个格子的权重设置即可。
二、设置属性和方法,制定可扩展效果
当我们绘制完这个身份简称键盘后,肯定是要给他人用的,基于灵活多变的需求,那么相对应的我们也需要动态的进行配置,比如背景颜色,文字的颜色,大小,还有边距,以及点击效果等等,这些都是需要外露,让使用者选择性使用的,目前所有的属性如下,大家在使用的时候,也可以对照设置。
设置属性
属性类型概述lp_backgroundcolor整体的背景颜色lp_rect_spacingdimension格子的边距lp_rect_heightdimension格子的高度lp_rect_margin_topdimension格子的距离上边lp_margin_left_rightdimension左右距离lp_margin_topdimension上边距离lp_margin_bottomdimension下边距离lp_rect_backgroundreference格子的背景lp_rect_select_backgroundreference格子选择后的背景lp_rect_text_sizedimension格子的文字大小lp_rect_text_colorcolor格子的文字颜色lp_rect_select_text_colorcolor格子的文字选中颜色lp_is_show_completeboolean是否显示完成按钮lp_complete_text_sizedimension完成按钮文字大小lp_complete_text_colorcolor完成按钮文字颜色lp_complete_textstring完成按钮文字内容lp_complete_margin_topdimension完成按钮距离上边lp_complete_margin_bottomdimension完成按钮距离下边lp_complete_margin_rightdimension完成按钮距离右边lp_text_click_effectboolean是否触发点击效果,true点击后背景消失,false不消失
定义方法
方法参数概述keyboardContent回调函数获取点击的省份简称简称信息keyboardDelete函数删除省份简称
您可能关注的文档
最近下载
- 高中信息技术必修二第三单元项目七《探究智能花卉养护系统——了解物联网》说课稿.docx VIP
- 解放J6国Ⅳ系列卡车利用说明书.pdf
- 医院信息化项目售后服务方案.pdf
- 2025《党政机关厉行节约反对浪费条例》研讨会交流发言材料八篇.docx VIP
- 【推荐】消毒灭菌管理制度.docx VIP
- 四年级数学下册《每日一练》全52套.pdf VIP
- 小学一年级数学暑假作业全套新人教版.pdf VIP
- 国家开放大学必威体育精装版《MySQL数据库应用》形考任务(1-4)试题及答案解析.pdf VIP
- T CAQI 303—2023 和田玉(青玉)手镯分级.pdf VIP
- 22S521预制装配式混凝土检查井.pdf VIP
文档评论(0)