gpt4 book ai didi

android - (Android) Layout 不会在 setVisibility(view.GONE) 后重绘?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:35:46 27 4
gpt4 key购买 nike

在我的应用程序中:

LinearLayout linearLayout2 = (LinearLayout) findViewById(R.id.cvLinearLayout2);

之后:

linearLayout2.setVisibility(View.GONE);

我找不到恢复 linearLayout2 的方法。

什么都试过了:

  linearLayout2.setVisibility(View.VISIBLE);
linearLayout2.bringToFront();
linearLayout2.getParent().requestLayout();
linearLayout2.forceLayout();
linearLayout2.requestLayout();
linearLayout2.invalidate();

但没有结果。linearLayout2 有一个父 linearLayout1,所以我也尝试了:

  linearLayout1.requestLayout();
linearLayout1.invalidate();

仍然是零结果。 linearLayout2 保持 GONE。在我的应用程序中,我需要将 linearLayout 移开,然后在一段时间后重新绘制它。请帮忙。

最佳答案

View.GONE 将从屏幕上删除该 View ,并将该 View 占用的空间释放给屏幕上的其他 View 。因此,“GONE” View 无法返回。您需要重新加载它。

如果你想保留空间,你可以使用View.INVISIBLE。现在 View 并没有被移除,而是隐藏了 View 并显示空白。

在简单的说明中,您具有以下设置:

ABCD

调用 B.setVisibility(View.INVISIBLE); 后,您将拥有:

CD

但是在调用 B.setVisibility(View.GONE); 之后你会得到:

ACD

关于android - (Android) Layout 不会在 setVisibility(view.GONE) 后重绘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8863776/

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