Android UI封装,组件封装

2020-03-21 12:02:58

Android通用UI封装----“我的”页面Item

问题

程序员最讨厌的事情是什么? 不是代码多到写不完,而是重复的代码要写无数遍。身为程序员的我们,肯定经常被这个问题所困扰。就比如Android APP中,“我的”页面中的每一个Item,就像下图这样的这样的,


“我的”页面常见布局

还有像这种资料录入页面的:

资料录入页面

像这种页面布局是极其常见的,几乎在每个APP中都有那么一两个这样的页面。这种页面让Android开发人员很是头疼,开发难度倒是不难,就是重复代码太多,没有挑战性。用一句不好听的话来说就是“代码又臭又长”。所以呢,我就对此做了一个封装,达到一行代码就是一行item。

使用效果

先来看一下使用效果,看看封装后,使用起来有多简单。

代码

对应的效果

上面的代码对有一定Android开发经验的你应该不难理解,起始就是new一个Item对象,设置其属性(具体下面解释),设置监听事件(具体下面解释),添加到LinnearLayout容器中。

封装步骤

1.布局

布局不难,也就是把通常写的item布局抽取出来。主要包括这么几个部分:上分割线、下分割线、左Icon、中间文字(偏左那个)、中间输入框、右边文字、右边Icon(默认右箭头)。
直接上代码,根据代码里的注释,很好理解。




  • 2018-10-20 20:44:03

    RecycleView4种定位滚动方式演示

    将RecyclerView滑动到指定位置,或者检索RecyclerView的某一项(各个项的高度不确定),然后定位滚动这到一项,将它显示。 下面就讲解4种RecyclerView定位滚动

  • 2018-10-21 22:29:24

    android ScollView 嵌套 WebView 底部空白,高度无法自适应解决

    最近要做一个页面,需要 ScrollView 嵌套 WebView,怎么嵌套,怎么解决焦点和 touch 事件冲突,网上一大堆,这里就不赘述了,但是发现 WebView 从一个高度很高的网页加载一个高度很低的网页的时候,高度无法自适应了,造成底部会有一大片的空白,解决方案找到了挺多,描述一下:

  • 2018-10-24 15:24:54

    getcachedir和getexternalcachedir的区别

    应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。 大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。 这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。 如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?

  • 2018-10-25 11:05:16

    SimpleDateFormat转换时间,12,24时间格式

    在使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日而如果希望格式化时间为12小时制的,则使用hh:mm:ss 如果希望格式化时间为24小时制的,则使用HH:mm:ss