से स्टेटस बार रंग सेट करें मैं एक ऐप बना रहा हूं जो स्टेटस बार रंग को गतिशील रूप से बदलता है।डायलॉगफ्रैगमेंट
किसी भी खंड से बुलाए जाने पर मुख्य गतिविधि वर्ग में मेरी विधि ठीक काम करती है। टुकड़े गतिविधि पेजर में रखा जाता है:
public void setStatusBarColorIfPossible(int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().setStatusBarColor(color);
}
}
हालांकि, DialogFragment जो किसी भी टुकड़ा और बनाया फुलस्क्रीन में बन जाता है में, मेरे विधि बुला कोई प्रभाव नहीं है। स्टेटस बार तुरंत काला है (जैसा कि style.xml में सेट है) और मैं इसे बदल नहीं सकता।
public class AddOrEditWeekPlanDialog extends DialogFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NORMAL, R.style.MyDialog);
}
@Override
public void onStart() {
super.onStart();
Dialog d = getDialog();
if (d!=null){
int width = ViewGroup.LayoutParams.MATCH_PARENT;
int height = ViewGroup.LayoutParams.MATCH_PARENT;
d.getWindow().setLayout(width, height);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_dialog, container, false);
Button button = (Button)root.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((ThermostatActivity) getActivity()).setStatusBarColorIfPossible(0xFF0D47A1);
}
});
return root;
}
@Override
public void onResume() {
super.onResume();
}
}
styles.xml:
// Set in manifest for main activity
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>
// Set in dialog class
<style name="MyDialog" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowIsFloating">false</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>
resources.xml:
<resources>
<color name="colorPrimary">#FFB72020</color>
<color name="colorPrimaryDark">#000</color>
<color name="textColor">#fff</color>
<color name="tabsScrollColor">#fff</color>
</resources>
किसी को भी मुझे समझा सकता है क्यों?
यह संवाद को एनएवी बार के तहत भी सामग्री खींचने का कारण बनता है। BottomSheetDialog का उपयोग करने वालों के लिए, यह विशेष रूप से समस्याग्रस्त है क्योंकि यह आपके संवाद पर नेविगेशन बार बटन रखता है। – Brian
क्या आपको कोई समाधान मिल रहा है? धन्यवाद @ ब्रायन – UserNameYo