Мне трудно сжать диалоговое окно с предупреждением, чтобы просто обернуть мой контент.
XML-макет диалогового окна имеет следующую структуру:
+ linear layout (main)
++ text view
++ linear layout (placeholder)
я использую заполнитель, чтобы прикрепить к нему отдельное поле, отредактированное от texttext, позже, во время oncreate, вызвав для него addView (), так что мой onCreate в основном выглядит так:
View v = LayoutInflater.from(context).inflate(input_layout, null);
LinearLayout placeholder = (LinearLayout)view.findViewById(input_placeholder)
SoftEditText text = new SoftEditText(context)
// set text attributes - input type, ime action, watchers and listeners
placeholder.addView(text);
setCancelable(true);
setButton(BUTTON_NEGATIVE, ....);
setTitle(title_label);
// view.forceLayout() - didn't help much
setView(view);
super.onCreate(instance);
// getWindow().getAttributes().height=LayoutParams.WRAP_CONTENT no go either
и результат: мой диалог предупреждений в два раза больше, чем должен быть. мои линейные макеты имеют высоту WRAP_CONTENT, и если я рисую их фон, я вижу, что они имеют правильный размер (это почти половина высоты диалога). остальная часть диалога черная, поэтому нет компонента, который заставляет или ожидает этот размер.
Я установил для maxLines текста значение 1, но это опять не помогло вообще. Кажется, это тривиальная проблема с макетом, но я не могу понять, что еще мне нужно вызвать, чтобы получить сжатие диалогового окна, чтобы просто обернуть содержимое.
спасибо за любые советы.