Agregar una barra de desplazamiento vertical a un AlertDialog en Android?

Me gustaría agregar una barra de desplazamiento vertical a un AlertDialog porque mi texto es demasiado largo para mostrarlo en una pantalla:

He tratado de usar:

android:scrollbars="vertical" android:scrollbarAlwaysDrawVerticalTrack="true" 

pero las barras de desplazamiento ni siquiera se muestran?

Aquí está el archivo de diseño xml que estoy usando:

     

Llamo al AlertsDialog con:

 public void onClick(View v) { switch(v.getId()){ case R.id.Button_Instructions: InstructionsDialog(); break; case R.id.Button_Exit: ExitDialog(); break; } } public void InstructionsDialog(){ AlertDialog.Builder ad = new AlertDialog.Builder(this); ad.setIcon(R.drawable.icon); ad.setTitle("Instructions ..."); ad.setView(LayoutInflater.from(this).inflate(R.layout.instructions_dialog,null)); ad.setPositiveButton("OK", new android.content.DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int arg1) { // OK, go back to Main menu } } ); ad.setOnCancelListener(new DialogInterface.OnCancelListener(){ public void onCancel(DialogInterface dialog) { // OK, go back to Main menu }} ); ad.show(); } 

Encontré la respuesta ahora => FUNCIONA AHORA CON ESTO:

        

Para que una vista se pueda desplazar, debe estar anidada dentro de un contenedor ScrollView :

       

Tenga en cuenta que un contenedor ScrollView solo puede tener una vista de diseño secundaria. No es posible, por ejemplo, colocar un TextView y una vista de TextView en un ScrollView sin LinearLayout .

 AlertDialog dialog = new AlertDialog.Builder(this) .setTitle("YOUR_TITLE") .setMessage("YOUR_MSG") .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }) .setIcon(android.R.drawable.ic_dialog_info) .show(); TextView textView = (TextView) dialog.findViewById(android.R.id.message); textView.setMaxLines(5); textView.setScroller(new Scroller(this)); textView.setVerticalScrollBarEnabled(true); textView.setMovementMethod(new ScrollingMovementMethod()); 

Usando esto funciona:

  .setScrollable(true) 

Use esto en su AlertDialogBox o en su etiqueta de materiales.

  private void gettermsandconditions() { final MaterialStyledDialog dialogHeader_1 = new MaterialStyledDialog.Builder(this) .setTitle("Terms and Conditions !") // .setDescription("What can we improve? Your feedback is always welcome.") .setDescription(R.string.Terms_and_condition) .setIcon(R.drawable.bill_icon) .setStyle(Style.HEADER_WITH_ICON) .setHeaderColor(R.color.colorPrimary) .withDarkerOverlay(true) .setScrollable(true) .onPositive(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { // startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + context.getPackageName()))); } }) .setNegativeText("Ok") .build(); //.setStyle(Style.HEADER_WITH_TITLE) dialogHeader_1.show(); }