2016-03-10 43 views
9

我第一次看到这个链接,但它似乎并没有太多的活动:Naming convention for IDs in AndroidAndroid中ID命名约定的最佳做法?

我很好奇,最好的做法是什么命名的ID在设计视图在Android Studio中的各种物品。

现在我正在做这样的事情:如果它是一个带有文本“Welcome To My Program”的TextView,我将它命名为welcomeTextViewID。如果它是一个按钮来启动一个名为doStuff的子程序,我可能会将其称为doStuffButtonID

换句话说,我使用了一种descriptor + datatype + ID惯例。

这被认为是不好的做法?我总是听到在名称内使用描述符的混合事物。例如,像C++这样的语言命名字符串变量nameString(因为如果稍后更改数据类型,则还必须更新名称)。

+0

关于命名资源,确实没有“好”或“坏”的做法。这真的取决于什么对你有用。你似乎有自己的理由为什么要做或不做某些事情,在这种情况下,我会说跟随你的直觉。作为一名Java开发人员,我习惯于为事物描述长名称,我喜欢这种方式。但是一些在javascript或C++中训练的同事更喜欢不同的风格。所以它真的归结为个人偏好。 – NoChinDeluxe

回答

5

结帐 - >https://github.com/umesh0492/android-guidelines

此外ID命名

ID应该与小写下划线元素的名称前缀。例如:

+---------------------+ 
| Element | Prefix | 
|-----------+---------+ 
| TextView | text_ | 
| ImageView | image_ | 
| Button | button_ | 
| Menu  | menu_ | 
+-----------+---------+ 

查看示例:

<ImageView 
    android:id="@+id/image_profile" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

菜单例如:

<menu> 
    <item 
     android:id="@+id/menu_done" 
     android:title="Done" /> 

我所见过的最好的准则,我也随着他们。

+0

“虽然这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供供参考的链接。如果链接页面发生变化,仅链接答案可能会失效。“ –

+1

@WaiHaLee我同意你的观点并相应地更新了答案 – UMESH0492

4

我的初步实践:

@+id/SummaryActivityName_SummaryViewType_Descrition 

例如:

@+id/MyAct_Txv_UserName 
@+id/MyAct_Grd_GridUsers 
@+id/MyFrag_LstView_UserList 

这种方式是更好的寻求就一个大项目的意见。 我希望它有帮助。

编辑: 将相同的ID名称放在变量名上。示例:

private TextView MyAct_Txv_UserName; 

protected void onCreate(...){ 
    MyAct_Txv_UserName = (TextView) findViewById(R.id.MyAct_Txv_UserName); 
    ... 
} 
+1

我也对XML名称使用类似的约定,例如'main_screen__activity','main_screen__content'等 - 这种方式相关的项目被分组在一起。 Android资源迫切需要命名空间...... –

1

我遵循这种类型的Android中ID的命名约定。

例:

Button : bt_Submit 
TextView : tv_Welcome 
EditText : et_Email_Id 
CheckBox : cb_Hobbies 
RadioButton : rb_Male 

通过看编号就可以识别您的组件。并在java中使用相同的id以避免混淆。