文档章节

框架规范

zhengxiaohui
 zhengxiaohui
发布于 2017/01/06 16:39
字数 624
阅读 15
收藏 0

1.所有Activity都要继承BaseActivity,所有的Fragment都要继承BaseFragment。自动覆盖initView(View view),setListener(),initValue(),onClick(View v)这四个方法。

所有的findViewById写在findView()中。例如:et_user_name= (EditText) findViewById(R.id.et_user_name);

所有的单击事件和其他事件都要写在setListener()中。例如:rl_login.setOnClickListener(this);必须用this,不能用内部类。

所有数据的初始化和加载都在initValue()中完成。

然后在onClick(View v)方法中写switch case语句。例如:

@Override

    public void onClick(View v) {

        switch (v.getId()) {

            case R.id.rl_login:

 

                break;

        }

    }

 

2.所有的ListView和GridView的Adapter都要继承ZBaseAdapterAdvance。只要定义好MyViewHolder extends ViewHolder就可以了。

3.所有的RecyclerView的Adapter都要继承ZBaseRecyclerAdapter。只要覆盖onCreateItemViewHolder方法和定义好ItemViewHolder就可以了。

4.所有传Context参数的地方都传context,不要传this或者XXXActivty.this进去。这样做是为了统一Activity,Fragment,Adapter中的代码格式,保持完全一致,免得复制或生成代码的时候有的需要修改。比如Activity中直接传this,如果是内部类中又要传XXXActivty.this,如果是Fragment中又要传getActivity()。我已经在Activity,Fragment,Adapter的父类中都定义了context,所以子类都可以直接拿到context

5.所有的findViewById都写成view.findViewById,也是为了统一Activity,Fragment,Adapter中的写法。我会在父类中定义好view,也是直接使用就可以。

6.所有的LayoutInflate都写成LayoutInflater.from(context).inflate(R.layout.activity_base,null);的方式,不要写View.inflate()等方法,也是为了统一Activity,Fragment,Adapter中的写法。

7.默认BaseActivity和BaseFragment中都有头部base_top布局,一般情况下两个共享同一个头部布局。但是BaseActivity中的头部默认是显示的,并且默认显示左边的回退箭头。而BaseFragment中的头部默认是隐藏的,而且左边回退箭头也是隐藏的。原因是activity大部分都有头部,而且大部分有回退键,而fragment大部分没有头部,而且没有回退键。

8.所有按钮都使用TextView控件,不要是用Button控件,原因是Button控件有个默认宽高,有时候不好控制。但是要注意TextView很多时候需要android:gravity="center"属性居中文字。

9.自定义代码模板快捷键
baa:ZBaseAdapterAdvance

for:for

if:if...else

iv:ImageView

list:List...ArrayList

llh:LinearLayout...horizontal

llv:LinearLayout...vertical

ptr:PtrClassicFrameLayout

ra:RecyclerAdapter

rl:RelativeLayout

rvj:RecyclerView在java中的主要代码

rv:RecyclerView在xml中的主要代码

sv:ScrollView

swi:switch...case

try:try...catch..finally

tv:TextView

ultra:UltraPullToRefresh

view:ViewLine

© 著作权归作者所有

zhengxiaohui
粉丝 1
博文 48
码字总数 12262
作品 0
福州
Android工程师
私信 提问
SpringData Jpa、Hibernate、Jpa 三者之间的关系

JPA规范与ORM框架之间的关系是怎样的呢? JPA规范本质上就是一种ORM规范,注意不是ORM框架——因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服务...

architect刘源源
2018/01/15
92
0
基于RIA的Web应用开发框架--iBeshmet

ibeshmet是基于J2EE技术的MVC开发框架,用于实现Web应用的快速开发。该框架提供了完整的Web应用解决方案,UI使用当前流行的ExtJS2.0,表现层框架为Struts2 , 事务管理由Spring2.0处理,持久...

匿名
2010/03/02
4.3K
2
javascript组件控件开发接口规范发文

本文目的:为了使得javascript组件控件开发、选择、使用变得更加高效。 使用javascript开发的组件、控件各式各样,琳琅满目,五花八门。比如tree控件就有各种各样,表格控件更不用说,其他控...

lightpig
2014/09/23
1K
3
WEB 组件规范--xspec

xspec 是一系列基于WEB COMPONENTS的组件规范,致力于借助规范的力量让组件发挥更大的价值。 什么是 X-SPEC 它是一系列 WEB组件的规范集合,基于最新的 WEB COMPONENTS, 从 WEB 组件的标签、...

叶秀兰
2014/07/30
551
0
Mars - 又双叒叕一个多端开发框架?这次是 Vue 驱动,能完美适配 H5

Mars 简介 1、Mars 是什么? Mars 是由 Vue 驱动的多端开发框架,其语法规范完全遵循 Vue,支持一套代码同时运行到百度小程序、微信小程序以及 H5 Web 端。 Mars 诞生于搜索垂类产品对于小程...

marsjsTeam
04/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
521
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
27
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
13
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
40
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
47
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部