Что означает «Android»: Prefix означает в модуле Android Framework-Res

StackOverflow https://stackoverflow.com/questions/8845565

Вопрос

Я скопирую этот код из файла styles.xml в модуле Framework-Res

<style name="Theme">

    <item name="colorForeground">@android:color/bright_foreground_dark</item>
    <item name="colorForegroundInverse">@android:color/bright_foreground_dark_inverse</item>
    <item name="colorBackground">@android:color/background_dark</item>

.

<style name="Theme.Black">
    <item name="android:windowBackground">@android:color/black</item>
    <item name="android:colorBackground">@android:color/black</item>
</style>

Как вы видите, у всех них есть имя атрибута, какое значение - WindowBackground. Но в формаре есть android: а последнее этого не делает. Действительно ли необходимо написать android: Префикс в Android Framework?

Это было полезно?

Решение

Обнаружил, что это интересный вопрос, и попытался исследовать ответ .. это то, что я нашел ..

из: http://developer.android.com/guide/topics/resources/style-resource.html

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style
        name="style_name"
        parent="@[package:]style/style_to_inherit">
        <item
            name="[package:]style_property_name"
            >style_value</item>
    </style>
</resources>

Пункт - определяет одно свойство для стиля. Должен быть ребенок элемента. Атрибуты: Имя Атрибут Ресурс. Необходимый. Название свойства стиля будет определен, при необходимости, с префиксом пакета (например, Android: TextColor).

из: http://developer.android.com/guide/topics/manifest/manifest-intro.html

Значения ресурса Некоторые атрибуты имеют значения, которые могут быть отображены для пользователей - например, метку и значок для деятельности. Значения этих атрибутов должны быть локализованы и поэтому устанавливаются из ресурса или темы. Значения ресурсов выражены в следующем формате,

@[package:]type:name

Там, где имя пакета может быть опущено, если ресурс находится в том же пакете, что и приложение, тип является типом ресурса, такого как «строка» или «нарисовано», - и имя - это имя, которое идентифицирует конкретный ресурс. Например: значения из темы выражены аналогичным образом, но с начальным '? скорее, чем '@':

?[package:]type:name

И, наконец, я попытался дать атрибуты без Android:, и он бросил исключение, хотя он успешно собрал.

Другие советы

Доступ к ресурсам платформы

Android содержит ряд стандартных ресурсов, таких как стили, темы и макеты. Чтобы получить доступ к этим ресурсу, квалифицируйте ссылку на ресурс с помощью имени пакета Android. Например, Android предоставляет ресурс макета, который вы можете использовать для элементов списка в ListAdapter:

setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myarray));

В этом примере simple_list_item_1 - ресурс макета, определяемый платформой для элементов в ListView. Анкет Вы можете использовать это вместо того, чтобы создавать свой собственный макет для элементов списка. (Для получения дополнительной информации об использовании ListView, см. Учебник по просмотру списка.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top