Android中ID命名约定的最佳做法?

时间:2016-03-10 17:59:53

标签: android android-studio standards

我首先看到了此链接,但似乎没有太多活动:Naming convention for IDs in Android

我很好奇在Android Studio的Design View中为各种项目命名ID的最佳做法。

现在我正在做这样的事情:如果它是带有文字"欢迎使用我的程序"的TextView,我将其命名为welcomeTextViewID 。如果它是一个按钮,它启动了一个名为doStuff的子程序,我可以称之为doStuffButtonID

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

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

3 个答案:

答案 0 :(得分:10)

结帐 - > 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" />

我见过的最好的指导方针,我确实遵循它们。

答案 1 :(得分:4)

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

例如:

Button : btSubmit
TextView : tvWelcome
EditText : etEmailId
CheckBox : cbHobbies
RadioButton : rbMale
LinearLayout : llPanel

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

答案 2 :(得分:3)

我的实践:

@+id/SummaryActivityName_SummaryViewType_Description

例如:

@+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);
    ...
}