2015-09-08 5 views
6

मैं एक एंड्रॉइड एप्लिकेशन विकसित कर रहा हूं। उसमें मैं संवाद में सामग्री डिजाइन स्नैकबार प्रदर्शित करना चाहता हूं। क्या यह संभव है? यदि हां तो कैसे?क्या मैं संवाद में सामग्री डिजाइन स्नैकबार प्रदर्शित कर सकता हूं?

कृपया मेरी मदद करें।

धन्यवाद।

+0

तकनीकी तौर पर, यह एक समस्या नहीं होनी चाहिए। असली सवाल यह है कि किसी को – Blackbelt

+0

क्यों चाहिए, मुझे नहीं लगता कि आप संवाद में स्नैकबार का उपयोग कर सकते हैं क्योंकि यह हमेशा स्क्रीन के नीचे प्रदर्शित होता है। इसके अतिरिक्त, आपको संवाद में स्नैकबार का उपयोग नहीं करना चाहिए, मुझे यह कहना चाहिए क्योंकि इसका उपयोग करने का सही तरीका नहीं है। –

+0

उत्तर में से एक को स्वीकार करना न भूलें! :) –

उत्तर

9

यह निश्चित रूप से संभव है, आपको केवल SnackBar पर संवाद का दृश्य पास करना होगा।

उदाहरण

AlertDialog.Builder mAlertDialogBuilder = new AlertDialog.Builder(this); 
    LayoutInflater inflater = this.getLayoutInflater(); 
    // inflate the custom dialog view 
    final View mDialogView = inflater.inflate(R.layout.dialog_layout, null); 
    // set the View for the AlertDialog 
    mAlertDialogBuilder.setView(mDialogView); 

    Button btn = (Button) mDialogView.findViewById(R.id.dialog_btn); 
    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      // Pass the mDialogView to the SnackBar 
      Snackbar 
        .make(mDialogView, "SnackBar in Dialog", Snackbar.LENGTH_LONG) 
        .show(); 
     } 
    }); 
    AlertDialog alertDialog = mAlertDialogBuilder.create(); 
    alertDialog.show(); 

परिणाम

picture showing result

नोट: रूट के रूप में एक CoordinatorLayout उपयोग करने के लिए कोई ज़रूरत नहीं है। मेरे उदाहरण में मैंने बस एक रैखिकलाइट रूट के रूप में उपयोग किया।

+0

कोऑर्डिनेटरलाइट का उपयोग न करने पर स्नैकबार स्निपिंग संभव नहीं हो सकता है। –

4

हाँ, आप कर सकते हैं।

को अपने Dialog के अंदर दिखाने के लिए कस्टम View बनाएं। आप यहाँ इसके बारे में अधिक पढ़ सकते हैं: Dialogs/Creating a Custom Layout

फिर आह्वान Snackbar.make((dialogView, "text", duration))Snackbar दिखाने के लिए जहां dialogView अपने कस्टम दृश्य है।

0

आप तो एक Dialog उपयोग कर रहे हैं:

dialog_share = new Dialog(MainScreen.this, R.style.DialogTheme); 
dialog_share.requestWindowFeature(Window.FEATURE_NO_TITLE); 
LayoutInflater inflater = this.getLayoutInflater(); 
mDialogView = inflater.inflate(R.layout.dialog_share, null); 
dialog_share.setContentView(mDialogView); 
dialog_share.getWindow().setBackgroundDrawableResource(R.color.translucent_black); 
dialog_share.show(); 

public void ShowSnackBarNoInternetOverDialog() { 
     Snackbar snackbar = Snackbar.make(mDialogView, getString(R.string.checkinternet), Snackbar.LENGTH_LONG); 
     snackbar.setActionTextColor(Color.CYAN); 
     snackbar.setAction("OK", new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       //Toast.makeText(MainScreen.this, "snackbar OK clicked", Toast.LENGTH_LONG).show(); 
      } 
     }); 
     snackbar.show(); 
    } 
संबंधित मुद्दे

 संबंधित मुद्दे