切换水平LinearLayout会导致计算错误的高度

时间:2017-07-27 10:59:10

标签: android switch-statement android-linearlayout

这是一个简单的水平LinearLayout,带有textview和switch。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:orientation="horizontal">

    <TextView
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:text="Change the visibility of the below Switch to experiment the height measurement." />

    <Switch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="visible" />

</LinearLayout>

此布局的渲染存在问题。如下所示,textview正在被裁剪,线性布局无法包装它的内容。

switch bug

当我移除开关时,此问题消失。

有没有人遇到过这个问题?这是一个错误吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

你想存档吗?

<RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true">

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_toLeftOf="@+id/switch"
                    android:text="Change the visibility of the below Switch to experiment the height measurement."/>

            <Switch
                    android:id="@+id/switch"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:layout_centerVertical="true"
                    android:visibility="visible"/>

        </RelativeLayout>