我有以下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>
但是我收到了lint消息:
这个LinearLayout应该使用android:layout_height =“wrap_content”
为什么我会收到此消息?
答案 0 :(得分:10)
LinearLayout
用于堆叠元素,可以并排放置,也可以叠放在一起。我的猜测是,由于ScrollView
“LinearLayout的所有子项一个接一个地堆叠,所以垂直列表每行只有一个子,无论它们有多宽,水平列表只有一个行高(最高的孩子的高度,加上填充).LineLayout尊重孩子之间的边距和每个孩子的重力(右,中或左对齐)。“
答案 1 :(得分:4)
它的Lint警告你应该使用
android:layout_height="wrap_content"
wrap_content
根据添加要求内容占据高度。
这里布局的高度根据要求
答案 2 :(得分:4)
这不是错误,但没有建议,因为在某些情况下它会产生不需要的结果。我在使用scrollview时遵循Romain的这个article。我希望这能解释这条消息的原因。