Android Webview导致页面上各种元素的背景图像变黑
横幅广告一直到今天都很有效。我注意到,每当横幅广告中出现动画时,就会出现闪烁 这会影响片段/活动中所有元素的背景区域,无论何时导入和加载AdMob片段Android Webview导致页面上各种元素的背景图像变黑,android,android-layout,android-fragments,android-activity,android-webview,Android,Android Layout,Android Fragments,Android Activity,Android Webview,横幅广告一直到今天都很有效。我注意到,每当横幅广告中出现动画时,就会出现闪烁 这会影响片段/活动中所有元素的背景区域,无论何时导入和加载AdMob片段 class AdBFiller : Fragment() { private lateinit var mAdView: AdView private val mAppUnitId: String = "ad-code" var fragContext: Context? = null ov
class AdBFiller : Fragment() {
private lateinit var mAdView: AdView
private val mAppUnitId: String = "ad-code"
var fragContext: Context? = null
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val adFrag = inflater.inflate(R.layout.banner_filler, container, false)
fragContext = context
initializeBannerAd()
viewAppender(fragContext!!, adFrag)
loadBannerAd()
return adFrag
}
private fun initializeBannerAd() {
MobileAds.initialize(fragContext!!)
}
private fun loadBannerAd() {
val adRequest = AdRequest.Builder().build()
mAdView.loadAd(adRequest)
}
fun viewAppender(contxt: Context, adFrag: View) {
mAdView = AdView(contxt)
mAdView.setAdSize(AdSize.BANNER) // also same issue with SMART_BANNER
mAdView.setAdUnitId(mAppUnitId)
(adFrag as FrameLayout).addView(mAdView)
}
override fun onDestroyView() {
mAdView.destroy()
super.onDestroyView()
}
override fun onDestroy() {
mAdView.destroy()
super.onDestroy()
}
override fun onResume() {
super.onResume()
mAdView.resume()
}
override fun onPause() {
super.onPause()
mAdView.pause()
}
}
布局(横幅填充物)如下所示:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".activities.AdBFiller"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
adStub是一个框架布局
我想这是因为AdMob代码自动发生的,因为它已经运行了很多天了。
如何使应用程序免受这些因素的影响
虽然效果在视频中很小,我的其他页面受到了很大的影响
编辑: 事实证明,这是我的手机/制造商特有的问题,因为网页上加载了WebView。 由于广告使用webview,问题的原因似乎在于广告注入代码 型号:荣誉华为-9N,
LLD-AL20,
欧洲货币联盟9.1.0,
Android Verion 9 具体内容: webview的内容必须完成加载才能开始此问题。有些视图相对不受影响。对于每一次页面加载,页面的相同元素都会受到影响,即固定复制意味着页面上的50个元素中,每次固定的20个元素都会受到影响 我想我必须定位和膨胀WebView是一种不会干扰其他元素的方式 Webview或ads是片段根布局关闭之前的最后一个元素 有人找到了解决此类问题的方法吗?通过以下方法解决:
android:layerType=“software”
android:layerType=“software”
只需将其添加到
,它将修复加载横幅广告时背景图像变黑的问题加载的每个广告或特定广告都会出现这种情况吗?所有横幅广告,无论内容如何,您的代码看起来都不错。我看到它发生在某些广告(高图形)上,而不是普通广告上。你能试试自适应横幅,看看我是否在admob论坛上分享了你的帖子-谢谢Amod。我忘记了谷歌这个最活跃的社区。我在最新的webview版本上看到三星Tab a出现了这种情况,但只适用于某些广告。将渲染类型更改为软件可以修复闪烁,但会导致广告只显示一个黑色方块。
private fun inflateAds() {
supportFragmentManager
.beginTransaction()
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.add(R.id.adStub, AdBFiller())
.commit()
}