Intereting Posts
एंड्रॉइड अग्रभूमि सेवा जो बाध्य हो सकती है एंड्रॉइड सूची पर क्लिक करेंआइटम गलत चेकबॉक्स की जांच करता है वाइन जैसे वीडियो रिकॉर्ड करने के लिए टैप करें और रखें वोली का उपयोग करके पोस्ट विधि काम नहीं कर रहा है खींचें और दो टुकड़ों के बीच ड्रॉप? एक webservice से कनेक्ट एंड्रॉइड ऐप – काम नहीं कर रहा है MapView अक्षम करें यदि यह समर्थित नहीं है एंड्रॉइड कैसे क्लिक किए जाने पर हाइलाइट को कैसे देखें? रोबोटियम का उपयोग करके धीमी या तेज खींचें (स्क्रॉल करें) एंड्रॉइड ऐप में सूचना बार छाया निकालें एडीबी त्रुटि कोड एंड्रॉइड में एडिट बॉक्स में लेबल करें कैलेंडर डेटा देखने के लिए इरादों का उपयोग कैसे करें? एसडी कार्ड पर संग्रहीत पीएनजी फाइल से एक बिटमैप बनाना (एंड्रॉइड) बाइनरी XML फ़ाइल लाइन: कक्षा <अज्ञात> बढ़ते त्रुटि

स्थिति पट्टी पर नीचे की शीट डायलॉग पूर्ण स्क्रीन बनाएं

मैंने हाल ही में android.support.design.widget.BottomSheetDialogFragment का उपयोग किया था। मैं कुछ ऐसा करना चाहता था जो Google संपर्क ऐप के समान है, इसकी नीचे की शीट टूलबार और स्थिति पट्टी को ओवरले कर सकती है। हालांकि, जब मैं इसे लागू करने के लिए BottomSheetDialogFragment का उपयोग करता हूं, तो यह इस पर दिखाई देता है: मेरा कार्यान्वयन

जैसा कि आप देख सकते हैं कि गतिविधि का उपकरण पट्टी अभी भी दृश्यमान है यहाँ मेरा कोड नीचे की BottomSheetDialogFragment :

 public class KeyDetailFragment extends BottomSheetDialogFragment { private BottomSheetBehavior.BottomSheetCallback mBottomSheetBehaviorCallback = new BottomSheetBehavior.BottomSheetCallback() { @Override public void onStateChanged(@NonNull View bottomSheet, int newState) { if (newState == BottomSheetBehavior.STATE_HIDDEN) { dismiss(); } } @Override public void onSlide(@NonNull View bottomSheet, float slideOffset) { } }; @Override public void setupDialog(Dialog dialog, int style) { super.setupDialog(dialog, style); View contentView = View.inflate(getActivity(), R.layout.sheet_key, null); dialog.setContentView(contentView); View parent = (View) contentView.getParent(); parent.setFitsSystemWindows(true); BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(parent); contentView.measure(0, 0); bottomSheetBehavior.setPeekHeight(contentView.getMeasuredHeight()); CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) parent.getLayoutParams(); if (params.getBehavior() instanceof BottomSheetBehavior) { ((BottomSheetBehavior)params.getBehavior()).setBottomSheetCallback(mBottomSheetBehaviorCallback); } params.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; parent.setLayoutParams(params); } } 

मैंने स्रोत को संदर्भित किया और मुझे एक विशेषता हितों को मिला:

 private static int getThemeResId(Context context, int themeId) { if (themeId == 0) { // If the provided theme is 0, then retrieve the dialogTheme from our theme TypedValue outValue = new TypedValue(); if (context.getTheme().resolveAttribute( R.attr.bottomSheetDialogTheme, outValue, true)) { themeId = outValue.resourceId; } else { // bottomSheetDialogTheme is not provided; we default to our light theme themeId = R.style.Theme_Design_Light_BottomSheetDialog; } } return themeId; } 

विशेषता नीचे bottomSheetDialogTheme यहां नीचे की शीट की शैली को बदल सकती है लेकिन मुझे नहीं पता कि इसे कैसे बदलना है, और मुझे संदेह है कि यह काम करेगा। क्या कोई मुझे इसे प्राप्त करने के बारे में समाधान दे सकता है कि वह टूलबार और स्थितिबार ओवरले कर सकता है?

Solutions Collecting From Web of "स्थिति पट्टी पर नीचे की शीट डायलॉग पूर्ण स्क्रीन बनाएं"

इसे इस्तेमाल करे। इससे मेरा काम बनता है।

 @Override public void setupDialog(Dialog dialog, int style) { super.setupDialog(dialog, style); View inflatedView = View.inflate(getContext(), R.layout.fragment_coupon, null); dialog.setContentView(inflatedView); CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) ((View) inflatedView.getParent()).getLayoutParams(); CoordinatorLayout.Behavior behavior = params.getBehavior(); if (behavior != null && behavior instanceof BottomSheetBehavior) { ((BottomSheetBehavior) behavior).setBottomSheetCallback(mBottomSheetBehaviorCallback); } View parent = (View) inflatedView.getParent(); parent.setFitsSystemWindows(true); BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(parent); inflatedView.measure(0, 0); DisplayMetrics displaymetrics = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int screenHeight = displaymetrics.heightPixels; bottomSheetBehavior.setPeekHeight(screenHeight); if (params.getBehavior() instanceof BottomSheetBehavior) { ((BottomSheetBehavior)params.getBehavior()).setBottomSheetCallback(mBottomSheetBehaviorCallback); } params.height = screenHeight; parent.setLayoutParams(params); } 

इस समस्या का हल ढूंढने में सक्षम नहीं था, लेकिन एक वैकल्पिक सुझाव दे सकता है जिससे मुझे उसी उद्देश्य की सेवा में मदद मिली। यहां संदर्भ दिया गया है: http://www.hidroh.com/2016/06/17/bottom-sheet-everything/

आलेख बताता है कि एक निचला शीट गतिविधि बनाने और इसके साथ पृष्ठभूमि छाया जोड़ना