Android Studio 中出现此设计 View 错误的原因是什么?
渲染期间出现异常:LinearLayout 的 mBaselineAlignedChildIndex 指向不知道如何获取其基线的 View
。
布局如下:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/mainListView"
android:orientation="vertical">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_btn_btm_actionbar"
android:src="@mipmap/ab_solid_example"/>
<ListView
android:id="@+id/eventStates"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/listviewimg"
android:drawSelectorOnTop="true"
android:footerDividersEnabled="true"
android:headerDividersEnabled="true"
android:textColor="#000000" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btn_cancel_callresult"
android:layout_width="153dp"
android:layout_height="wrap_content"
android:layout_gravity="bottom" android:layout_marginRight="@dimen/abc_action_bar_default_padding_material"
android:background="@color/white"
android:onClick="cancelCallResult"
android:text="Cancel"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
最佳答案
刚遇到同样的错误。基线对齐与确定每个子项的基线的父 LinearLayout 有关,特别是布局中的最后一个子项。我的问题涉及 TimePicker - 在 API 21+ 中,它是一个图形时钟,因此没有提供基线信息的 TextView。
这里,问题出在第 27-35 行:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btn_cancel_callresult"
android:layout_width="153dp"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
您在 Button 周围的内部 LinearLayout 上缺少“android:orientation=vertical”(或水平),并且 Button 本身在其父项中指定了重力(“linear-gravity” )的“底部”。没有为它指定任何方向或高度,因此外部 LinearLayout 不知道如何确定它的基线。
此外,内部 LinearLayout 是不必要的。如果你想在列表和按钮之间有一个空白空间,尝试使用 Space小部件,或者如果您希望 List 一直填充到 Button 的空间,请为 List 指定一个权重属性(“layout-weight=1.0”)。
关于Android Studio渲染异常: "mBaselineAlignedChildIndex of LinearLayout points to a View that doesn' t know how to get its baseline",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31989050/