I use Theme.AppCompat.DayNight.NoActionBar
theme for my app. When I load adMob interstital some colors are broken in "night" mode (i.e. in RecyclerView).
Screen:
Those incorrect colors are from "notnight" values. When I close the app and run it again everything is okay. When I kill the app I have the same situation.
Activity code:
public class MainActivity extends AppCompatActivity {
static {
AppCompatDelegate.setDefaultNightMode(
AppCompatDelegate.MODE_NIGHT_AUTO);
}
private ArrayList<String> planetList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
populateRecycler();
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
PlanetAdapter adapter = new PlanetAdapter(planetList, getApplicationContext());
recyclerView.setAdapter(adapter);
InterstitialAd interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId("ca-app-pub-543543543/543543543");
AdRequest adRequest = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest);
}
private void populateRecycler() {
for (int i = 0; i < 20; i++) {
planetList.add("TEST");
}
}
}
When I comment interstitialAd.loadAd(adRequest)
everything is ok.
You can find whole project here: github
The issue is supposedly caused by the WebView
resetting the UI mode, and this can be worked around by instantiating WebView
manually.
I haven't seen the issue after doing this (in Application.oncreate()
in this particular app):
if (nightMode != AppCompatDelegate.MODE_NIGHT_NO) {
Log.d(TAG, "Manually instantiating WebView to avoid night mode issue.");
try {
new WebView(getApplicationContext());
} catch (Exception e) {
Log.e(TAG, "Got exception while trying to instantiate WebView to avoid night mode issue. Ignoring problem.", e);
}
}
AppCompatDelegate.setDefaultNightMode(nightMode);
Source: https://groups.google.com/forum/#!msg/google-admob-ads-sdk/OZzHq_-wAFY/K50jClZcBAAJ
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With