写在前面
Android Studio的错误提示是个非常好的东西,在我们编程错误的时候都会给出提示,但是凡事都有例外,下面介绍一个例子
LinearLayout
例如LinearLayout内部如果包含了多个子View的时候,会提示我们设置android:orientation="vertical"
或者是horizontal
。也就是设置子View的布局次序。比如如下代码:
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"></View>
<View
android:layout_width="match_parent"
android:layout_height="match_parent"></View>
</LinearLayout>
但是例外出现了:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="indi.noclay.cloudhealth.activity.FoodDetailActivity">
<include layout="@layout/layout_tool_bar"/>
<LinearLayout
android:id="@+id/container"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
</LinearLayout>
上述布局文件中的顶层LinearLayout是不会显示这个错误的,因为include没有解析成为子View,虽然是以子View存在,这个时候如果运行代码,你会发现container什么都不显示。
所以下次一定一定要设置android:orientation="vertical"
或者是horizontal
。