gpt4 book ai didi

android - ActionBar ShowActions & v7 兼容

转载 作者:行者123 更新时间:2023-12-04 16:57:53 24 4
gpt4 key购买 nike

我在网上阅读了很多关于我需要如何添加自己的命名空间才能在使用 v7 兼容性库时使操作栏正常工作的答案。此链接描述了此解决方案的答案:

Android use namespace as prefix for attributes in library

我还有一个关于这是怎么回事的问题?添加库如何从 android 命名空间中删除 ShowActions 属性?它是否覆盖了最新库中的某些方法(因为我的目标 sdk 是 4.~),以便在默认的 android 命名空间中不支持 showactions?为什么要这样做?

最佳答案

How does adding a library remove the ShowActions attribute from the android namespace?



没有,只是 ActionBar和相关的 XML 属性在旧版 Android 的运行时库中不存在。

兼容性库是“静态”库,在您构建应用程序时与您的 APK 文件打包在一起,以便旧版本的 Android 可以使用各种类等。但是,为了使用某些 XML 属性,因为它们在较旧的 Android 版本,您必须使用命名空间解决方法。

例如,如果您查看 Adding Action Items您会看到以下 XML 文件...
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
yourapp:showAsAction="ifRoom" />
...
</menu>

注意 xmlns: 的两个属性在顶部 - 一个用于 android一个用于 yourapp .每次指定一个属性,例如 android:icon= ,它使用 xmlns:android=命名空间,但为了找到支持库属性,它需要使用第二个命名空间,即 xmlns:yourapp= .这就是为什么你用 yourapp: 作为属性前缀的原因。如 yourapp:showAsAction= .实际上,您甚至不需要使用自己的 namespace ,它可以是您选择的任何名称(甚至是“您的应用程序”)。

关于android - ActionBar ShowActions & v7 兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25321329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com