मैं एक एंड्रॉइड एप्लिकेशन विकसित कर रहा हूं। उसमें मैं संवाद में सामग्री डिजाइन स्नैकबार प्रदर्शित करना चाहता हूं। क्या यह संभव है? यदि हां तो कैसे?क्या मैं संवाद में सामग्री डिजाइन स्नैकबार प्रदर्शित कर सकता हूं?
कृपया मेरी मदद करें।
धन्यवाद।
मैं एक एंड्रॉइड एप्लिकेशन विकसित कर रहा हूं। उसमें मैं संवाद में सामग्री डिजाइन स्नैकबार प्रदर्शित करना चाहता हूं। क्या यह संभव है? यदि हां तो कैसे?क्या मैं संवाद में सामग्री डिजाइन स्नैकबार प्रदर्शित कर सकता हूं?
कृपया मेरी मदद करें।
धन्यवाद।
यह निश्चित रूप से संभव है, आपको केवल 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();
परिणाम
नोट: रूट के रूप में एक CoordinatorLayout
उपयोग करने के लिए कोई ज़रूरत नहीं है। मेरे उदाहरण में मैंने बस एक रैखिकलाइट रूट के रूप में उपयोग किया।
कोऑर्डिनेटरलाइट का उपयोग न करने पर स्नैकबार स्निपिंग संभव नहीं हो सकता है। –
हाँ, आप कर सकते हैं।
को अपने Dialog
के अंदर दिखाने के लिए कस्टम View
बनाएं। आप यहाँ इसके बारे में अधिक पढ़ सकते हैं: Dialogs/Creating a Custom Layout
फिर आह्वान Snackbar.make((dialogView, "text", duration))
Snackbar
दिखाने के लिए जहां dialogView
अपने कस्टम दृश्य है।
आप तो एक 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();
}
तकनीकी तौर पर, यह एक समस्या नहीं होनी चाहिए। असली सवाल यह है कि किसी को – Blackbelt
क्यों चाहिए, मुझे नहीं लगता कि आप संवाद में स्नैकबार का उपयोग कर सकते हैं क्योंकि यह हमेशा स्क्रीन के नीचे प्रदर्शित होता है। इसके अतिरिक्त, आपको संवाद में स्नैकबार का उपयोग नहीं करना चाहिए, मुझे यह कहना चाहिए क्योंकि इसका उपयोग करने का सही तरीका नहीं है। –
उत्तर में से एक को स्वीकार करना न भूलें! :) –