Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 视图。父视图的消失导致问题_Java_Android_Xml_Android Layout - Fatal编程技术网

Java 视图。父视图的消失导致问题

Java 视图。父视图的消失导致问题,java,android,xml,android-layout,Java,Android,Xml,Android Layout,我有一个照片应用程序,其中我在屏幕底部显示admob横幅。我正在从java管理它,并在需要的时候隐藏它。当我显示下面这样的广告时,它工作正常 但当我隐藏横幅…底部导航工具栏在顶部,屏幕显示空白,如下图所示 我的XML如下所示。请检查并帮助我解决我的问题值为ll\u adLayout\u的xml底部是adview。谢谢 --> 那是因为你 <LinearLayout android:background="@color/colorPrimary"

我有一个照片应用程序,其中我在屏幕底部显示admob横幅。我正在从java管理它,并在需要的时候隐藏它。当我显示下面这样的广告时,它工作正常

但当我隐藏横幅…底部导航工具栏在顶部,屏幕显示空白,如下图所示

我的XML如下所示。请检查并帮助我解决我的问题值为ll\u adLayout\u的xml底部是adview。谢谢


-->

那是因为你

<LinearLayout
            android:background="@color/colorPrimary"
            android:id="@+id/pageNavLayout"
            android:orientation="horizontal"
            android:layout_above="@+id/ll_adLayout_latest"
            android:layout_width="match_parent"
            android:layout_height="48dp">

设置为在
ll_adLayout\u latest
上方,当您将其设置为
视图时,将重新检查布局,就像
ll_adLayout\u latest
根本不在布局中一样

你可以做这两件事中的一件(或者两者都做,取决于你最终需要的行为)

  • 将布局设置为不依赖于最新的
    位置
  • 使用
    View.INVISIBLE
    而不是
    View.GONE

  • 当使用
    View.INVISIBLE
    时,布局将不会表现为从未出现过
    ll\u adLayout\u latest
    ,它将保留您建立的依赖关系。

    这是因为您有

    <LinearLayout
                android:background="@color/colorPrimary"
                android:id="@+id/pageNavLayout"
                android:orientation="horizontal"
                android:layout_above="@+id/ll_adLayout_latest"
                android:layout_width="match_parent"
                android:layout_height="48dp">
    
    
    
    设置为在
    ll_adLayout\u latest
    上方,当您将其设置为
    视图时,将重新检查布局,就像
    ll_adLayout\u latest
    根本不在布局中一样

    你可以做这两件事中的一件(或者两者都做,取决于你最终需要的行为)

  • 将布局设置为不依赖于最新的
    位置
  • 使用
    View.INVISIBLE
    而不是
    View.GONE
  • 使用
    View.INVISIBLE
    时,布局将不会表现为从未出现过
    ll\u adLayout\u latest
    ,它将保留您建立的依赖关系