4

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

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

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

请逐步解释!//谢谢。

4

1 回答 1

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在 root 的命名空间属性中menu。命名空间标识符是什么并不重要,只要它是有效的并且在使用showAsAction属性时按原样使用即可。这回答了你的问题了吗?

于 2013-08-29T14:58:20.073 回答