2013-08-29 1 views
3

Я пытаюсь реализовать ActionBar через библиотеку поддержки v7. Потому что я хочу поддержать приложение для Android 2.1 (API уровня 7) и выше.Android namespace как префикс для атрибутов в библиотеке

Я прочитал в http://developer.android.com/guide/topics/ui/actionbar.html следующем: «Использование XML атрибутов Уведомлении библиотека поддержки , что атрибут выше showAsAction использует пользовательское пространство имен, определенные в теге Это необходимо при использовании каких-либо атрибутов XML, определенных в библиотеке поддержки, потому что. эти атрибуты не существуют в платформе Android на старых устройствах. Поэтому вы должны использовать свое собственное пространство имен в качестве префикса для всех атрибутов, определенных библиотекой поддержки ».

Мой вопрос: как использовать собственное пространство имен в качестве префикса для всех атрибутов, определенных библиотекой поддержки?

Шаг за шагом информация пожалуйста! // Спасибо.

ответ

9

Ниже приведен пример меню:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:whatever="http://schemas.android.com/apk/res-auto"> 

    <item 
     android:id="@id/wims_ab_done" 
     android:icon="@drawable/white_check_mark" 
     android:title="@string/save" 
     whatever:showAsAction="always"/> 
    <item 
     android:id="@id/wims_ab_items_remove" 
     android:icon="@drawable/wims_remove"   
     android:title="@string/remove" 
     whatever:showAsAction="always"/> 

</menu> 

Вся философия должна иметь http://schemas.android.com/apk/res-auto в атрибуте пространства имен в корне menu. Неважно, что такое идентификатор пространства имен, если он действителен и используется как таковой при использовании атрибутов showAsAction. Отвечает ли это на ваш вопрос?

+0

В этом конкретном случае, что происходит, когда я использую «http://schemas.android.com/apk/res-auto»? Как он дополняет по сравнению с showAsAction, который встроен в 3.0 и abow.Thanks для вашего быстрого ответа! :) – westberg

+0

Для краткости: нужно избегать столкновения пространства имен, что пакет совместимости гарантирует, что вы не столкнетесь. – gunar

+1

Я получаю сообщение об ошибке: Gradle: Идентификатор ресурса не найден для атрибута 'showAsAction' в пакете 'com.example.example', Что мне не хватает? – westberg

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