在Android应用程序中命名ID

时间:2010-11-24 20:36:03

标签: java android

如果您正在开发Android应用程序,您将在视图和布局的xml文件中遇到这样的id命名:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/new_game"
          android:icon="@drawable/ic_new_game"
          android:title="@string/new_game" />
    <item android:id="@+id/quit"
          android:icon="@drawable/ic_quit"
          android:title="@string/quit" />
</menu>

我真的很想知道为什么这样的命名应用于id。是因为Linux?这命名是什么意思 - @+id/... - 有?

当我查看android:icon属性时,我可以解释为ic_new_game位于drawable文件夹下,而@表示“位于”或我只是假设。

但命名id属性有点不同,因为它们也有+符号。有人可以帮我理解这个惯例吗?

感谢。

1 个答案:

答案 0 :(得分:5)

这只是Android开发人员定义的命名约定。 +仅在您要为某些内容定义新ID时使用。否则,您只需参考@id/...

@drawable/...@string/...仅代表对某些资源的引用。哪些可绘制引用会自动为驻留在.png目录中的.jpg.gif.xmldrawable文件创建。文件的文件名将是标识符。

如果存在包含像<string name="some_name">Some Name</string>这样的字符串标记的XML文件,则会创建字符串引用。字符串的标识符将是您定义为name参数的标识符。在此示例中,它将是@string/some_name

同样适用于您的布局。您可以通过@layout/...访问它们。

据我所知,它与Linux无关,或者至少我对Linux不了解。

关于这一点的有趣读物是Accessing Resources在开发者网站上。