(Android)布局不会在setVisibility(view.GONE)之后重绘?

(Android)布局不会在setVisibility(view.GONE)之后重绘?,第1张

概述在app我有: LinearLayout linearLayout2 = (LinearLayout) findViewById(R.id.cvLinearLayout2); 之后: linearLayout2.setVisibility(View.GONE); 我找不到将linearLayout2带回来的方法. 尝试了一切: linearLayout2.setVisibility(View.VI 在app我有:
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不应影响它使用setVisibility方法“返回”的能力(VIEw.VISIBLE)

例如,我在我的一个应用程序中有此代码:

public voID onCheckedChanged(Compoundbutton checkBox,boolean isChecked{    if(checkBox == usesLocationCheckBox)    {        VIEw vIEw = findVIEwByID(R.ID.eventLocationoptions);        if(isChecked)        {            vIEw.setVisibility(VIEw.VISIBLE);            usesTimeCheckBox.setEnabled(false);        }        if(!isChecked)        {            vIEw.setVisibility(VIEw.GONE);            usesTimeCheckBox.setEnabled(true);        }    }}

它完美无缺.您的程序正在执行的其他一些代码必须负责.使用相关代码编辑您的帖子,我们可以为您提供更好的答案.

总结

以上是内存溢出为你收集整理的(Android)布局不会在setVisibility(view.GONE)之后重绘?全部内容,希望文章能够帮你解决(Android)布局不会在setVisibility(view.GONE)之后重绘?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1141022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存