如果您在使用本机操作栏,您可以使用android:showAsAction
。每当您看到android:
作为前缀时,就会知道它是由Android框架定义的属性。
如果您正在使用操作栏的appcompat-v7
backport,该操作栏来自库(appcompat-v7
)。图书馆不能发明新的android:
属性。相反,对于库定义的属性,您使用绑定到http://schemas.android.com/apk/res-auto
URL的新名称空间(例如,app:
)。
它说的android:命名空间是不能,如果我们假装支持较旧的Android版本,如2.1
正确提供访问属性。在这种情况下,虽然android:showAsAction
已添加到Android 3.0框架中,但appcompat-v7
的部分目标是支持Android 2.1。虽然Google有时间机器,但他们没有使用它来“锁定”Android并添加以前不存在的属性。 (尽管如果他们这样做了,我们也不会了解它,因为我们的过去会被改变为拥有这些属性,除非我们在某种程度上存在于正常时空连续体之外的存在,涉及穿着斗篷)
所以,appcompat-v7
可以使用属性等android:icon
,它从1.0的Android存在,但不能支持到Android 3.0 android:showAsAction
之前。因此,他们有自己的属性。
这不是“其他”。这是您之前定义的命名空间:'xmlns:[yourapp] =“http://schemas.android.com/apk/res-auto”'。没有什么能阻止你定义'xmlns:android =“http://schemas.android.com/apk/res-auto”' –
通过定义你的意思是使用这个命名空间:xmlns:doo =“http://schemas.android。 com/apk/res-auto“/////// doo是我的名字空间吗? – Lothre1
**是**,确切地说。 'xmlns = XML NameSpace' –