Вот мой код:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
AlertDialog alertChoice = new AlertDialog.Builder(context).create();
alertChoice.setTitle("Title");
alertChoice.setView(ViewDialogScreen("Test"));
alertChoice.show();
}
private View ViewDialogScreen(String strText) {
LinearLayout llay = new LinearLayout(context);
llay.setLayoutParams(new LayoutParams(320, 400));
TextView tv = new TextView(context);
tv.setText(strText);
llay.addView(tv);
return llay;
}
Я получил результат, как указано выше.
AlertDialog
в полноэкранном режиме /95% от размера экрана.Dialog
.HorizontalScrollview
в AlertDialog
? чтобы получить поведение прокрутки, добавьте окружение ScrollView
в свой макет, что сделает ваш метод ViewDialogScreen
следующим:
private View ViewDialogScreen(String strText) {
ScrollView scroll = new ScrollView(context);
scroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
LinearLayout llay = new LinearLayout(context);
llay.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
TextView tv = new TextView(context);
tv.setText(strText);
scroll.addView(llay);
llay.addView(tv);
return scroll;
}
Теперь попробуйте добавить еще несколько полей и прокрутить их.
Я не уверен, но вы можете настроить свой собственный макет для диалога. См. Мой ответ Android: диалог отклоняется, не вызывая отклонения
Если вы хотите настроить AlertDialog
, вам необходимо создать Custom Dialog
.
ScrollView
наHorizontalScrollView
и он автоматически добавит горизонтальную прокрутку при достижении максимальной ширины. Тем не менее, в настоящее время нет виджета, позволяющего одновременно прокручивать по горизонтали и вертикали (Google google). Но диалог будет растягиваться вертикально насколько это возможно.