【问题标题】:Android, How to remove a view from UI?Android,如何从 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_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">


<RileativeLayout
    android:id="@+id/adv"
    android:layout_width="fill_parent"
    android:layout_height="100dip">

</RileativeLayout>

.
.
.
</LinearLayout >

根据上面的代码,如果标志设置为 false,我不会显示广告,但差距仍然存在于我的屏幕中。如何动态地从我的代码中删除它并向上移动其他视图(这是对它的打击)?

【问题讨论】:

  • view.setVisibility(View.GONE)
  • 这将完成工作findViewById(R.id.adv).setVisibility(View.GONE);

标签: android dynamic view add


【解决方案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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-25
        相关资源
        最近更新 更多