Android:布局文件中的不同名称空间
我正在为我的应用程序使用Android:布局文件中的不同名称空间,android,android-layout,Android,Android Layout,我正在为我的应用程序使用Android支持库AppCompat,并尝试将搜索小部件添加到我的视图中。首先,我遇到了一个非常令人沮丧的错误,搜索小部件没有出现在屏幕上。以下是菜单xml文件: <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item androi
Android支持库AppCompat
,并尝试将搜索小部件
添加到我的视图中。首先,我遇到了一个非常令人沮丧的错误,搜索小部件没有出现在屏幕上。以下是菜单xml文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_example"
android:title="@string/action_example"
app:showAsAction="withText|ifRoom" />
<item android:id="@+id/search_bar"
android:title="@string/search_title"
android:icon="@drawable/ic_menu_search"
android:showAsAction="always" (LINE ONE)
android:actionViewClass="android.support.v7.widget.SearchView"/> (LINE TWO)
</menu>
我有谷歌,但没有帖子涉及我的问题
谢谢:)看起来AppCompat将这些XML标记声明为自定义元素。下面是一个关于自定义元素的Q/a,可能会更清楚:您使用自己的自定义名称空间“app”,因为对于较旧的android版本,android框架中不存在属性“showasaction”。因此,当您使用action compat库时,您需要为该属性声明自己的命名空间 来自开发者文档 使用支持库中的XML属性 请注意,上面的showAsAction属性使用标记中定义的自定义命名空间。这在使用支持库定义的任何XML属性时都是必要的,因为这些属性在旧设备上的Android框架中不存在。因此,您必须使用自己的名称空间作为支持库定义的所有属性的前缀。 如果菜单项同时提供标题和带有标题和图标属性的图标,则默认情况下操作项仅显示图标。如果要显示文本标题,请在showAsAction属性中添加“withText”。例如:
android.support.v7.widget.SearchView
customview定义的app:showAsAction="always",
app:actionViewClass="android.support.v7.widget.SearchView"
android:layout\u width=“match\u parent”
或android:layout\u height=“wrap\u content”
,它不会给出错误,因为我们已经为类似的属性定义了xmlns
xmlns:android=”http://schemas.android.com/apk/res/android“
xmlns:app=”定义xmlns的方式http://schemas.android.com/apk/res-auto“
fine有一种方法,另一种方法是xmlns:app=”http://schemas.android.com/apk/res/**packagenameofSearchViewClass**“
在第一种方式中,您给出了所有外部自定义视图自定义属性可用于are xml like support.v7和任何其他库,在第二种方式中,您给出了外部库自定义视图自定义属性可用于are xml的详细信息。请更正您答案的格式。只有代码应该以这种方式格式化
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
app:showAsAction="always",
app:actionViewClass="android.support.v7.widget.SearchView"