Android使用命名空间作为库中属性的前缀

时间:2013-08-29 14:53:40

标签: android namespaces prefix

我正在尝试通过支持库v7实现ActionBar。因为我想支持适用于Android 2.1(API级别7)及更高版本的应用程序。

我在http://developer.android.com/guide/topics/ui/actionbar.html中读到以下内容: “使用支持库中的XML属性 请注意,上面的showAsAction属性使用标记中定义的自定义命名空间。在使用支持库定义的任何XML属性时,这是必需的,因为旧设备上的Android框架中不存在这些属性。因此,您必须使用自己的命名空间作为支持库定义的所有属性的前缀。“

我的问题是如何使用自己的命名空间作为支持库定义的所有属性的前缀?

请一步一步解释! //感谢。

1 个答案:

答案 0 :(得分:10)

以下是菜单示例:

<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属性时就这样使用它,那么它是什么并不重要。这是否回答了你的问题?