我刚刚开始使用android,并且已经完成了大约5个布局文件。然而,我刚刚意识到我一直在交替使用@id和@+id,但我不确定这两者之间的确切区别是什么。
发布于 2017-02-13 23:24:29
有时你必须使用+号。例如,当您使用<include ... />
时,包含的文件如下:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.FloatingActionButton xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
(...)
app:layout_anchor="@+id/view_pager"
app:layout_anchorGravity="top|right|end"
/>
如果不在"@+id/view_pager"
中添加+
,在构建项目时会出现错误:
Error:(9, 24) No resource found that matches the given name (at 'layout_anchor' with value '@id/view_pager').
这件事发生在我的图书馆项目中。
发布于 2017-10-18 08:51:18
为了访问Java中的小部件(或组件)或使其他人依赖它,我们需要一个唯一的值来表示它。这个唯一值是由android:id属性提供的,它本质上是将id作为后缀添加到id资源文件中,以供其他人查询。工具栏的id可以这样定义,
android:id=”@+id/toolbar
findViewById(…)现在可以跟踪以下id它在res文件中查找id,或者只是在R.id目录中查找,并返回有问题的视图类型。另一个@id的行为与findViewById(…)相同 - 通过提供的id查找组件,但仅为布局保留。它最常见的用法是相对于组件返回的组件来放置组件。
android:layout_below=”@id/toolbar”
https://stackoverflow.com/questions/11160954
复制相似问题