这个LinearLayout应该使用android:layout_height =“wrap_content”?

我有以下的XML布局:

<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="true" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" // ==> here I get the error. android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Test" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_marginLeft="10dp" android:layout_marginTop="5dp" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="2dip" android:background="#298EB5" android:orientation="horizontal" /> </LinearLayout> </ScrollView> 

但是我得到了这个消息:

这个LinearLayout应该使用android:layout_height =“wrap_content”

为什么我收到这条消息?

Solutions Collecting From Web of "这个LinearLayout应该使用android:layout_height =“wrap_content”?"

LinearLayout的devise是为了将元素并排或叠放在一起而devise的。 我的猜测是这个皮棉警告build议由于ScrollView virtical堆叠

文档 :

“LinearLayout的所有孩子都是一个接一个堆叠的, 所以垂直列表每行只有一个孩子 ,不pipe他们有多宽,一个水平列表只会是一行高(最高的孩子的身高,加上填充)。一个LinearLayout尊重孩子之间的边距和每个孩子的重力(右,中,左)。

这不是一个错误,但不build议,因为在某些情况下会产生不想要的结果。 在使用scrollview时,我遵循Romain的这篇文章 。 我希望这将解释消息的原因。

它应该使用Lint警告

 android:layout_height="wrap_content" 

wrap_content按照添加要求内容占据高度。 这里Layout的高度根据需要包装