2010-11-24 2 views
5

При разработке Android приложения, вы столкнетесь с таким именованием идентификатора в XML-файлах зрения и макетах:Именование ID в Android приложениях

<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> 

и я действительно интересно, почему такое именование применяется к идентификаторам. Это из-за Linux? Какое значение имеет это название - @+id/... - ха?

Когда я смотрю на android:icon атрибуте я могу интерпретировать, что это означает, что ic_new_game находится под вытяжкой папки и @ средств «расположенную на» или я просто предположить, что.

Но атрибуты именования идентификатора различны, потому что они также имеют знак +. Может ли кто-нибудь помочь мне понять это соглашение?

Спасибо.

ответ

5

Это просто соглашение об именах, определенное разработчиками Android, я думаю. + используется только тогда, когда вы хотите определить новый идентификатор для чего-то. В противном случае вы просто ссылаетесь как @id/....

@drawable/... и @string/... просто представляют собой ссылку на некоторые ресурсы. Если ссылки для рисования создаются автоматически для .png, .jpg, .gif и .xml файлами, находящимися в одном из ваших каталогов drawable. Имя файла будет идентификатором.

Ссылки на строки создаются, если есть XML-файл, содержащий строковые теги, подобные этому <string name="some_name">Some Name</string>. Идентификатором для строк будет то, что вы определяете как аргумент имени. В этом примере это будет @string/some_name.

То же самое относится к вашим макетам. Вы сможете получить к ним доступ через @layout/....

Насколько я знаю, это не имеет никакого отношения к Linux или, по крайней мере, я ничего не знаю в Linux.

Интересное о нем - Accessing Resources на сайте разработчика.

+0

Спасибо за ответ. Раньше я не видел статьи. Выглядит отлично. – Tarik 2010-11-24 21:00:26

Смежные вопросы