2012-11-30 16 views
15

पर दाएं और नकारात्मक बटन पर पॉजिटिव बटन को एंड्रॉइड के साथ नया है।एंड्रॉइड अलर्टडिअलॉग बाएं

वर्तमान में मैं 'ओके' & 'रद्द करें' बटन के साथ AlertDialog बॉक्स दिखाना चाहता हूं। वाम, NegativeButton:

डिफ़ॉल्ट PositiveButton है सही

तुम मुझे पता है कि मैं बाईं ओर से दाईं ओर & NegativeButton को PositiveButton स्थानांतरित कर सकते हैं करते हैं कर सकते हैं?

क्या कोई मौका/परेशानी है यदि ठीक है दबाते समय नेगेटबूटन खराब ध्वनि का कारण बनता है, अगर हम सकारात्मक बटन पर "ठीक" टेक्स्ट को नकारात्मक बटन & "रद्द करें" में बदलते हैं।

मेरे कोड:

AlertDialog.Builder builder = new AlertDialog.Builder(SUtils.getContext()); 
        builder.setMessage("Confirmation?") 
        .setCancelable(false) 
        .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          //Todo 
          dialog.cancel(); 
         } 
        }) 
        .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          //TOdo 
         } 
        }) 

dialog = builder.create(); 

धन्यवाद, एन्जिल

उत्तर

3
AlertDialog.Builder builder = new AlertDialog.Builder(SUtils.getContext()); 
       builder.setMessage("Confirmation?") 
        .setCancelable(false) 
        .setNegativeButton("OK", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          //TOdo 
         } 
        }) 
        .setPositiveButton("Cancel", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          //TOdo 
          dialog.cancel(); 
         } 
        }) 


       diaglog = builder.create(); 

लेकिन मैं जब तक आप क्रम बदलने के लिए एक अच्छा कारण है सम्मेलन के साथ जाने की सलाह देते हैं। इससे उपयोगकर्ताओं के लिए आपके आवेदन का उपयोग करना आसान हो जाएगा।

+0

में मदद करता है वहाँ कोई मौका/मुसीबत है अगर Negativebutton जब ठीक दबाकर एक बुरा ध्वनि का कारण है, अगर हम NegativeButton के लिए पाठ "ठीक है" को बदलने और करने के लिए "रद्द करें" है PositiveButton। – user1866128

+0

यह संभव है लेकिन मैंने कभी ऐसी चीज नहीं देखी है। – Caner

-1

इस तरीके के सबसे सुरुचिपूर्ण नहीं है बल्कि यह है कि तुम क्या

AlertDialog.Builder builder = new AlertDialog.Builder(SUtils.getContext()); 
      builder.setMessage("Confirmation?") 
       .setCancelable(false) 
       .setNegativeButton("OK", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         //TOdo 
         dialog.cancel(); 
        } 
       }) 
       .setPositiveButton("Cancel", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         //TOdo 
        } 
       }) 


      diaglog = builder.create(); 

बस Cancel बटन के रूप में सकारात्मक बनाने चाहते हो जाएगा और Ok बटन के रूप में नकारात्मक।

+0

क्या कोई मौका/परेशानी है यदि ठीक दबाते समय नेगेटबूटन खराब ध्वनि का कारण बनता है, अगर हम नकारात्मक "बटन" को नकारात्मक बटन पर बदलते हैं और पॉजिटिव बटन पर "रद्द करें" बदलते हैं। – user1866128

0

एंड्रॉयड में diffault सेटिंग बदलने के लिए कोई तरीका नहीं है लेकिन आप cancle के लिए पाठ ठीक बदल सकते हैं कार्यात्मक सेट accroding इस

AlertDialog.Builder builder = new AlertDialog.Builder(SUtils.getContext()); 
    builder.setMessage("Confirmation?") 
      .setCancelable(false) 
      .setNegativeButton("OK", 
       new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
          //TOdo 
         } 
        }) 
      .setPositiveButton("CANCEL", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
          //TOdo 
          dialog.cancel(); 
         } 
        }); 


dialog = builder.create(); 
+0

क्या कोई समस्या/परेशानी है यदि ठीक है दबाते समय नेगेटबूटन खराब ध्वनि का कारण बनता है, अगर मैं इस – user1866128

+0

को परेशानी का कोई मौका नहीं बदल रहा हूं। मैं इस प्रकार का उपयोग अपने एंड्रॉइड एप्लिकेशन –

33

यह एक सीधा जवाब नहीं हो सकता है। लेकिन संबंधित विषय पर कुछ जानकारी। Google की अपनी मंच में this धागा से, रोमेन पुरुष कहा ..

आगे सकारात्मक/नकारात्मक बटन का क्रम एक आईसीएस में इस्तेमाल किया जाएगा जा रहे हैं। तटस्थ - - नकारात्मक

और OS संस्करण प्रति सम्मेलन

  • मधुकोश करने से पहले डिवाइस पर है, बटन आदेश (बाएं से दाएं) सकारात्मक था ।
  • होलो थीम का उपयोग कर नए उपकरणों पर, बटन ऑर्डर ( दाएं को छोड़ दिया गया) अब नकारात्मक - न्यूट्रल - सकारात्मक है।

यदि यह एक सम्मेलन है, तो एंड्रॉइड/Google का पालन करना चाहता है, तो यह बेहतर नहीं है कि आप इसका पालन करें, क्योंकि आपके उपयोगकर्ता अकेले आपके ऐप का उपयोग नहीं करेंगे। सभी उपयोगकर्ता मित्रता के बाद पहली बार डेवलपर की तलाश होती है ..

+3

में कर रहा हूं, यह एकमात्र सही और उपयोगी उत्तर है क्योंकि ऊपर दिए गए वर्कअराउंड एपीआई 11 और उपरोक्त उपयोगकर्ताओं के लिए समस्या को ठीक न करें, यह सिर्फ भ्रम का कारण बनता है;] ... – reVerse

0

जांच इस https://github.com/hslls/order-alert-buttons

dependencies { 
    compile 'com.github.hslls:order-alert-buttons:1.0.0' 
} 


AlertDialogParams params = new AlertDialogParams(); 
params.mTitle = "title"; 
params.mMessage = "message"; 
params.mPositiveText = "Ok"; 
params.mNegativeText = "Cancel"; 
params.mCancelable = true; 
params.mAlign = BUTTON_ALIGN.POSITIVE_BUTTON_LEFT; // fix button position 
params.mClickListener = new AlertDialogClickListener() { 
    @Override 
    public void onPositiveClicked() { 

    } 

    @Override 
    public void onNegativeClicked() { 

    } 
}; 

AlertDialog dialog = AlertDialogBuilder.createAlertDialog(this, params); 
0

वास्तव में एक आसान तरीका दाहिने हाथ की ओर AlertDialog का बटन शिफ्ट करने के लिए leftSpacer, कोर एक्सएमएल जो डिफ़ॉल्ट लेआउट संभालती के भीतर एक LinearLayout को छिपाने के लिए है।

// Fetch the PositiveButton 
final Button  lPositiveButton = lDialog.getButton(AlertDialog.BUTTON_POSITIVE); 
// Fetch the LinearLayout. 
final LinearLayout lParent   = (LinearLayout) lPositiveButton.getParent(); 
// Ensure the Parent of the Buttons aligns it's contents to the right. 
lParent.setGravity(Gravity.RIGHT); 
// Hide the LeftSpacer. (Strict dependence on the order of the layout!) 
lParent.getChildAt(1).setVisibility(View.GONE); 
0

मैं buttonBarLayout जिसमें बटन में पता लगा है neutral button और -ve/+ve buttons जगह के साथ के बीच एक रिक्ति लेआउट है कि वहाँ "1"।

तो, पहली बार में हम उस स्थान निकाल कर या इसे दृश्यता GONE है भी हम बेहतर विधि का उपयोग करने (invisible यह अभी भी buttonBarLayout में एक अंतरिक्ष लेता दूँगी) बनाने की जरूरत है onShowListner बेहतर है कि द्वारा संवाद दिखा के बाद कर रही:

alertDialog.setOnShowListener(new DialogInterface.OnShowListener() { 
     @Override 
     public void onShow(DialogInterface dialog) { 
      Button neutralButton = alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL); 
      LinearLayout view = (LinearLayout) neutralButtonOrAnyOtherBtnFromThe3Btns.getParent(); 
      Space space= (Space) view.getChildAt(1); 
     } 
}); 

फिर बाकी अपने डिजाइन, इच्छा है कि

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