Добавление вертикальной полосы прокрутки в AlertDialog в Android?
Я хотел бы добавить вертикальную полосу прокрутки в AlertDialog, потому что мой текст слишком длинный для отображения на экране 1:
Я попытался использовать:
android:scrollbars="vertical" android:scrollbarAlwaysDrawVerticalTrack="true"
но полосы прокрутки даже не отображаются?
- Как определить направление прокрутки
- jQuery изменение цвета цветной пользовательский прокрутка
- Как обрезать пробелы?
- Прокрутите RecyclerView, чтобы отобразить выбранный элемент сверху.
- Android ListView текущее местоположение прокрутки Y пикселей
Вот файл макета xml, который я использую:
Я вызываю AlertsDialog с помощью:
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(); }
Я нашел ответ сейчас => ЭТО РАБОТАЕТ С ЭТОЙ:
- Отслеживание положения прокрутки и уведомление об этом других компонентах
- Как получить высоту полного содержимого div с помощью jQuery?
- CSS - переполнение: прокрутка; - Всегда показывать вертикальную полосу прокрутки?
- Обнаружить кнопку средней кнопки (кнопка прокрутки) с помощью jQuery
- Как прокрутить до нижней части RecyclerView? scrollToPosition не работает
- Элемент прокрутки в виде с seleniumом
- Получить центр видимого элемента RecycleView при прокрутке
- Использование прокручиваемых результатов Hibernate для медленного чтения 90 миллионов записей
Чтобы просмотреть прокручиваемый вид, он должен быть вложен внутри контейнера ScrollView
:
Обратите внимание ScrollView
контейнер ScrollView
может иметь только один вид детского макета. Например, невозможно разместить TextView
и Button
в ScrollView
без 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());
Используя это, он работает:
.setScrollable(true)
Используйте это в своем AlertDialogBox или MaterialStyledDialog.
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(); }