正文
在layout的布局文件中为了复用,会使用到**
include
**来引入布局模块,如下
<include layout="@layout/xml_plus" />
-
在如下看似合理的代码片中,并没有达到预期的效果
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="defualt" /> <include layout="@layout/xml_plus" android:layout_below="@+id/tv" /> <!-- 实际覆盖在TextView上层,并没实现below的效果 --> </RelativeLayout>
-
同时AndroidStudio会给出错误提示:
Layout parameters specified on an <include> tag will only be used if you also override layout_width and layout_height on the <include> tag; otherwise they will be ignored.
-
如上提示引导,我们重载
layout_width
和layout_height
就能使include
正确的引入外部布局.<include layout="@layout/xml_plus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tv" />
-