gpt4 book ai didi

android - 当最后一个 View 的可见性在 LinearLayout 中设置为 GONE 时,底部分隔线丢失

转载 作者:行者123 更新时间:2023-11-30 02:50:56 25 4
gpt4 key购买 nike

我有带 2 个按钮的简单 LinearLayout。 View 看起来不错,显示了中间和末端分隔线。当我以编程方式将第二个按钮的可见性设置为 View.GONE 时,第一个按钮下方的分隔线丢失了。怎么改?

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="?android:attr/listDivider"
android:orientation="vertical"
android:showDividers="middle|end"
android:animateLayoutChanges="true">

<Button
android:id="@+id/1_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="1"
android:layout_marginLeft="@dimen/big_margin"
android:layout_marginTop="@dimen/normal_margin"
android:layout_marginRight="@dimen/big_margin"
android:layout_marginBottom="@dimen/normal_margin"/>

<Button
android:id="@+id/2_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="2"
android:layout_marginLeft="@dimen/big_margin"
android:layout_marginTop="@dimen/normal_margin"
android:layout_marginRight="@dimen/big_margin"
android:layout_marginBottom="@dimen/normal_margin"/>
</LinearLayout>

最佳答案

我认为这是 LinearLayout 实现中的一个错误,因为它应该为 1_id id 在 2_id 之后的按钮设置 end 分隔符 按钮不见了。然而,这里的情况并非如此,因此可能的解决方法是从 LinearLayout 中省略 end 分隔符设置,并在结束所以它的中间分隔线将模拟最后一个分隔线。

看这个例子:

<!-- No 'end' divider in 'android:showDividers' attribute -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:showDividers="middle"
android:divider="?android:attr/listDivider"
android:orientation="vertical">

<TextView
android:text="Line 1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Line 2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:text="Last line"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<!-- Dummy view to simulate last divider -->
<View
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>

关于android - 当最后一个 View 的可见性在 LinearLayout 中设置为 GONE 时,底部分隔线丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24187698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com