Android 布局 layout.xml 中 id的命名规范问题


#1

使用kotlin可以直接使用布局中的控件id,然后我想请教一下各位,控件id命名规范的问题,是使用驼峰式来命名,还是需要用其他命名法使得每个页面的每个控件id都保持全项目唯一的id,不能重名?


#2

我是用驼峰命名的,不需要全项目唯一,只需要保证当前页面引用的xml Id唯一就行了


#3

我们一般都是用控件手写字母缩写+一个释义。比如一个名字 textview文本,就会用tv_name.这样在类里面,一看id就知道你是什么控件类型,也知道代表什么意思了。但是这样一些东西也不理解,比如radiogroup,我都是用rg_,如果没有看过我代码,根本不知道 rg会代表什么意思


#4

就正常按照你的代码变量命名就行,tv_ btn_ 这种东西可以越来越少了,毕竟都帮你合成了,静态类型用不着这种冗余的字符。

类似的,boolean bEnabled 这样的写法也是源自于当初开发工具的简陋,现在哪里还需要加个 b 在前面。


#5

我觉得带下横线可以标明这是布局的控件…挺清晰的


#6

目前Kotlin项目里面使用的是下划线,但是在Activity直接引用感觉好“丑陋呀”(之前java使用的驼峰命名法。例如:mUserNameTxt)。


#7

我觉得用驼峰命名id就好~


#8

+1 目前也是这样写的


#9

我是用驼峰命名。不过不同控件id同名挺烦的,一不小心就 导错了,如果是在同个Activity下的不同fragment,还可能不报错


#10

我的习惯是如果用Java开发,还是用下划线的方式去设置id,如果是用kotlin直接在kt文件中引用的话就用小驼峰去设置id了


#11

这个浏览量 1。1k是不是有点问题


#12

应该是中文翻译的问题


#13

我用的是Databinding,一般采取这种策略命名:Databinding可以把值传进 XML,比如传进一个 name 的变量用来表示用户名,有一个 TextView 用来显示用户名,这个 TextView 会被命名为 nameView (不区分具体的控件类型,同时与数据变量 name 区分开);如果这个 TextView 被放在某个容器 Layout 内,并且要对这个容器 Layout 命名,则这个容器 Layout 会被命名 nameLayout 来表示这一块都是 name 的区域。


京ICP备16022265号-2 Kotlin China 2017 - 2018