Android,如何从 UI 中删除视图?
Posted
技术标签:
【中文标题】Android,如何从 UI 中删除视图?【英文标题】:Android, How to remove a view from UI? 【发布时间】:2012-05-21 08:24:29 【问题描述】:在我的应用程序主页中,服务器向我发送了一些标志。其中之一是广告标志。如果设置为 true 我需要显示广告,如果设置为 false 我不应该显示它。
现在,问题。我需要像这样将广告空间放在 XML 文件中。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical">
<RileativeLayout
android:id="@+id/adv"
android:layout_
android:layout_>
</RileativeLayout>
.
.
.
</LinearLayout >
根据上面的代码,如果标志设置为 false,我不会显示广告,但差距仍然存在于我的屏幕中。如何动态地从我的代码中删除它并向上移动其他视图(这是对它的打击)?
【问题讨论】:
view.setVisibility(View.GONE) 这将完成工作findViewById(R.id.adv).setVisibility(View.GONE);
【参考方案1】:
正如上面在 cmets 中针对您的问题所提到的:一个视图有几个不同的视图选项。
View.VISIBLE:这意味着它是可见的,并且可以被用户看到。
View.INVISIBLE:这意味着视图仍在布局中,但用户无法看到(用户也无法与之交互)。
View.GONE:这意味着视图被破坏并且不再是它的一部分。
要从布局中完全删除视图,您应该使用View.GONE
,如果要使其可见,您应该使用View,INVISIBLE
。
【讨论】:
【参考方案2】:当你的标志为假时试试这个
add.setVisibility(View.GONE);
【讨论】:
【参考方案3】:您可以通过更改视图的可见性来“移除”视图。使用
View ad = findViewById(R.id.adv);
ad.setVisibility(View.GONE);
【讨论】:
以上是关于Android,如何从 UI 中删除视图?的主要内容,如果未能解决你的问题,请参考以下文章
如何编写在运行时确定视图内容的 Android UI 测试?