【问题标题】:Disable banner View in some fragment在某些片段中禁用横幅视图
【发布时间】:2016-12-11 16:02:10
【问题描述】:

我在我的活动中定义了一个自定义横幅。我的项目有这种结构:

-Activity:Fragment1、Fragment2、Fragment3

-Fragment2Fragment4、Fragment5

因此,例如,要从 Fragment2 滑动到 Fragment4,我直接从 Fragment2 替换片段。

现在,每当用户单击 Fragment4 时,我都希望在主要活动中定义横幅

        AdView mAdView = (AdView) findViewById(R.id.adView);

变得隐形

我怎样才能做到这一点?

【问题讨论】:

    标签: android view interface fragment


    【解决方案1】:

    我刚刚找到了最好的方法,所以现在想想你需要隐藏在 MainActivity 中生成的 admob 广告,所以当你要调用 Fragment 时,只需在 mainActivity 中设置可见性即可。

    如果您有任何问题,请告诉我。

     case R.id.nav_frag1:
                    fragment = new Fragment1();
                    mAdView = (AdView) findViewById(R.id.adView);
                    mAdView.setVisibility(View.GONE);
                    title = getString(R.string.title_frag1);
                    break;
    

    【讨论】:

      【解决方案2】:

      我认为最好的方法(但到目前为止不是最简单的)是使用DataBinding 并为每个片段的布局传递一个布尔值,告诉它天气或不应该看到这个横幅。 然后在您的布局中,您可以执行以下操作:

      <layout ... >
         <data>
          <import type="android.view.View"/>
          <variable name="showBanner" type="boolean" />
         </data>
         ...
         <BannerView
            ...
            android:visibility='@{showBanner ? View.VISIBLE : View.INVISIBLE}'
            ...
         />
         ...
      </layout>
      

      【讨论】:

      • 就没有别的办法了吗?喜欢从主要活动中接口我的按钮?
      • 这取决于您的实现。您是否使用 ViewPager 在片段之间进行切换?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-01
      • 2019-05-29
      • 2014-11-14
      • 1970-01-01
      • 1970-01-01
      • 2021-04-20
      相关资源
      最近更新 更多