android - DialogFragment overwrite style when returning to foreground -
i stuck trying overwrite style in dialogfragment when fragment shown after backgrounded @ least once.
this relevant code:
my styles.xml:
<style name="theme.mydialog.default"> <item name="android:windowbackground">@drawable/my_background</item> </style> <style name="theme.mydialog.noanimation" parent="theme.mydialog.default"> <item name="android:windowenteranimation">@null</item> </style> my fragment relevant portion of code:
private boolean waspaused; @override public void onstart() { super.onstart(); if (waspaused) { // when dialog re-enters foreground, not animate super.setstyle(dialogfragment.style_no_frame, r.style.theme_mydialog_noanimation); } } @override public void onstop() { waspaused = true; super.onstop(); } the style never r.style.theme_mydialog_noanimation after dialog fragment comes foreground after being backgrounded. debug statements show super.setstyle(...) happen guess occurs after view created. can style overwritten after app paused?
update: see comment includes answer below.
answering own question...
based on javadoc comments @ https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/app/dialogfragment.java
calling setstyle(int, int) after fragment's dialog created have no effect.
hopefully else.
Comments
Post a Comment