Вы можете использовать Theme.Holo.Light.Dialog.MinWidth
для правильной калибровки вашего макета.
Из документации:
общественности статической окончательный ИНТ Theme_Holo_Light_Dialog_MinWidth
Вариант Theme.Holo.Light.Dialog, который имеет хорошую минимальную ширину для регулярного диалога.
Способ использовать это будет через пропускание ContextThemeWrapper вместо контекста (используя это) для пользовательского конструктора Диалога:
YourCustomDialog cDialog = new YourCustomDialog(
new ContextThemeWrapper(this,
android.R.style.Theme_Holo_Light_Dialog_MinWidth));
Это как Theme.Holo.Light.Dialog.MinWidth
определяется:
<style name="Theme.Holo.Light.Dialog.MinWidth">
<item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
<item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
</style>
От dimens.xml
:
@android: dimen/dialog_min_width_major:
<!-- The platform's desired minimum size for a dialog's width when it
is along the major axis (that is the screen is landscape). This may
be either a fraction or a dimension. -->
<item type="dimen" name="dialog_min_width_major">65%</item>
@android: DIMEN/dialog_min_width_minor:
<!-- The platform's desired minimum size for a dialog's width when it
is along the minor axis (that is the screen is portrait). This may
be either a fraction or a dimension. -->
<item type="dimen" name="dialog_min_width_minor">95%</item>
Как представляется, ширина для диалога на картинке вы публикуемую составляет около 65%. В портретном режиме это будет 95%.
Честно говоря, ширина не похож на 95% в портретном режиме, но это лучше, чем раньше :):
можете ли вы разместить свой собственный диалог XML? – TheFlash
@Indiandroid Я отправил код в Pastebin. http://pastebin.com/Mx4rkjaF – MikkoP
вы можете установить ширину диалогового макета программно, вычислив высоту и ширину устройства. – TheFlash