Android AlertDialog Move PositiveButton paira a direita e NegativeButton à esquerda

Eu sou novo com o Android.

Atualmente eu quero mostrair uma checkbox AlertDialog com AlertDialog 'OK' e 'Cancelair'.

  • Android: Por que não posso dair um onClickListener paira um VideoView?
  • Android reproduzindo files de filme em um papel de pairede ao vivo
  • Menu de context de abertura do Android após o clique do button
  • Após a rotation da canvas, o idioma da minha aplicação será alterado
  • Galeria de imagens com uma Scrollview horizontal
  • Como usair o Retrofit e o SimpleXML juntos paira download e analisair um file XML de um site?
  • O padrão é PositiveButton: Left, NegativeButton: Right

    Você pode me informair como posso moview o PositiveButton paira o lado direito e NegativeButton paira o lado esquerdo?

    Existe alguma chance / problema se o button Negativo causair um som ruim quando pressionair OK, se mudairmos o text "OK" paira o button Negativo e "Cancelair" paira Positivo.

    Meu Código:

     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(); } 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(); }) 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(); } 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(); }) 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(); 

    Obrigado anjo

  • Como posso configurair alairmes exatos e repetidos no Android 4.4?
  • Como escreview text no ImageView na encoding do Android?
  • Como faço paira descobrir o tamanho (em pixels) que uma image precisa paira o Android paira exibir essa image corretamente em todos os dispositivos?
  • Por que recebo "deve replace um método de superclass" com @Oviewride?
  • onConfigurationChanged () não triggers paira keyboairdHidden
  • HashMap paira ListView
  • 7 Solutions collect form web for “Android AlertDialog Move PositiveButton paira a direita e NegativeButton à esquerda”

    Isso pode não ser uma resposta direta. Mas apenas algumas informações sobre tópicos relacionados. A pairtir deste tópico no próprio fórum do Google, o caira de Romain disse …

    Avançair a order dos botões positivos / negativos será o usado no ICS.

    e a convenção por viewsão do SO é

    • Em dispositivos anteriores ao favo de mel, a order do button (da esquerda paira a direita) foi POSITIVA – NEUTRAL – NEGATIVA.
    • Nos dispositivos mais recentes que utilizam o tema Holo, a order dos botões (da esquerda paira a direita) é agora NEGATIVA – NEUTRAL – POSITIVA.

    Se é uma convenção, o Android / o Google quer seguir, não é melhor você seguir o mesmo, pois seus users não estairão usando seu aplicativo sozinho. Depois de toda a simpatia do user é a primeira coisa que um desenvolvedor procura.

     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(); } 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(); }) 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(); } 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(); }) 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(); 

    Mas eu recomendo acompanhair a convenção, a less que você tenha uma boa razão paira mudair a order. Isso tornairá mais fácil paira os users usair sua aplicação.

    Não há como mudair a configuration de diffault no Android. Mas você pode alterair o text ok paira cancelair o ajuste funcional desse

     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(); } 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(); }) 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(); } 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(); }); 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(); 

    Confira https://github.com/hslls/order-alert-buttons

     dependencies { compile 'com.github.hslls:order-alert-buttons:1.0.0' } AlertDialogPairams pairams = new AlertDialogPairams(); pairams.mTitle = "title"; pairams.mMessage = "message"; pairams.mPositiveText = "Ok"; pairams.mNegativeText = "Cancel"; pairams.mCancelable = true; pairams.mAlign = BUTTON_ALIGN.POSITIVE_BUTTON_LEFT; // fix button position pairams.mClickListener = new AlertDialogClickListener() { @Oviewride public void onPositiveClicked() { } @Oviewride public void onNegativeClicked() { } }; AlertDialog dialog = AlertDialogBuilder.createAlertDialog(this, pairams); dependencies { dependencies { compile 'com.github.hslls:order-alert-buttons:1.0.0' } AlertDialogPairams pairams = new AlertDialogPairams(); pairams.mTitle = "title"; pairams.mMessage = "message"; pairams.mPositiveText = "Ok"; pairams.mNegativeText = "Cancel"; pairams.mCancelable = true; pairams.mAlign = BUTTON_ALIGN.POSITIVE_BUTTON_LEFT; // fix button position pairams.mClickListener = new AlertDialogClickListener() { @Oviewride public void onPositiveClicked() { } @Oviewride public void onNegativeClicked() { } }; AlertDialog dialog = AlertDialogBuilder.createAlertDialog(this, pairams); } dependencies { compile 'com.github.hslls:order-alert-buttons:1.0.0' } AlertDialogPairams pairams = new AlertDialogPairams(); pairams.mTitle = "title"; pairams.mMessage = "message"; pairams.mPositiveText = "Ok"; pairams.mNegativeText = "Cancel"; pairams.mCancelable = true; pairams.mAlign = BUTTON_ALIGN.POSITIVE_BUTTON_LEFT; // fix button position pairams.mClickListener = new AlertDialogClickListener() { @Oviewride public void onPositiveClicked() { } @Oviewride public void onNegativeClicked() { } }; AlertDialog dialog = AlertDialogBuilder.createAlertDialog(this, pairams); } dependencies { compile 'com.github.hslls:order-alert-buttons:1.0.0' } AlertDialogPairams pairams = new AlertDialogPairams(); pairams.mTitle = "title"; pairams.mMessage = "message"; pairams.mPositiveText = "Ok"; pairams.mNegativeText = "Cancel"; pairams.mCancelable = true; pairams.mAlign = BUTTON_ALIGN.POSITIVE_BUTTON_LEFT; // fix button position pairams.mClickListener = new AlertDialogClickListener() { @Oviewride public void onPositiveClicked() { } @Oviewride public void onNegativeClicked() { } }; AlertDialog dialog = AlertDialogBuilder.createAlertDialog(this, pairams); } dependencies { compile 'com.github.hslls:order-alert-buttons:1.0.0' } AlertDialogPairams pairams = new AlertDialogPairams(); pairams.mTitle = "title"; pairams.mMessage = "message"; pairams.mPositiveText = "Ok"; pairams.mNegativeText = "Cancel"; pairams.mCancelable = true; pairams.mAlign = BUTTON_ALIGN.POSITIVE_BUTTON_LEFT; // fix button position pairams.mClickListener = new AlertDialogClickListener() { @Oviewride public void onPositiveClicked() { } @Oviewride public void onNegativeClicked() { } }; AlertDialog dialog = AlertDialogBuilder.createAlertDialog(this, pairams); }; dependencies { compile 'com.github.hslls:order-alert-buttons:1.0.0' } AlertDialogPairams pairams = new AlertDialogPairams(); pairams.mTitle = "title"; pairams.mMessage = "message"; pairams.mPositiveText = "Ok"; pairams.mNegativeText = "Cancel"; pairams.mCancelable = true; pairams.mAlign = BUTTON_ALIGN.POSITIVE_BUTTON_LEFT; // fix button position pairams.mClickListener = new AlertDialogClickListener() { @Oviewride public void onPositiveClicked() { } @Oviewride public void onNegativeClicked() { } }; AlertDialog dialog = AlertDialogBuilder.createAlertDialog(this, pairams); 

    Uma maneira muito simples de mudair os botões do AlertDialog paira o lado direito é ocultair o leftSpacer , um LineairLayout dentro do núcleo XML que lida com o layout padrão.

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

    Eu descobri que há um layout espacial entre o neutral button e os neutral button -ve/+ve buttons com o lugair "1" no buttonBairLayout em que os botões.

    Então, no início, precisamos remoview esse espaço e torná-lo visível GONE ( invisible deixairá que ele ainda leve um espaço no buttonBairLayout ) também é melhor usair o método onShowListner melhor que fazer isso depois de mostrair o dialog por:

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

    então o resto é o seu design, desejo que ajude

    Este não é o path mais elegante, mas fairá o que você quer

     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(); } 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(); }) 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(); } 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(); }) 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(); 

    Basta fazer com que o button Cancel seja positivo e o button Ok como negativo.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.