Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can we have vertical buttons in an Android alert dialog?

By default, we get two or three buttons that are horizontally aligned in an alert dialog. Is it possible to have them vertically aligned within the alert dialog?

like image 543
Ahmed Avatar asked Mar 09 '12 21:03

Ahmed


1 Answers

Sure, you can use Dialog.setContentView() to set the content of a dialog to be an arbitrary layout.

Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.yourLayoutId);
dialog.show();

Make yourself a layout file with a Vertical LinearLayout that has the buttons you want in it and call setContentView() on your dialog, passing the name of your layout file.

If you are deadset on AlertDialog you can do something similar with builder.setView()

LayoutInflater inflater = (LayoutInflater) 
        getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.yourLayoutId,
        (ViewGroup) findViewById(R.id.yourLayoutRoot));
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setView(layout);
AlertDialog alertDialog = builder.create();
alertDialog.show();
like image 126
FoamyGuy Avatar answered Oct 14 '22 00:10

FoamyGuy