Я создаю пользовательский диалог как:
Dialog myDialog = new Dialog(context, R.style.Theme_Levels);
myDialog.setContentView(R.layout.levelselector);
myDialog.show();
Используемый стиль:
<style name="Theme.Levels" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowBackground">@drawable/dlgbg</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
Макет XML-файла:
<LinearLayout android:id="@+id/LevelSelector"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_gravity="bottom|center_horizontal"
android:paddingBottom="50dip"
>
<Button android:text="Easy"
android:id="@+id/btn_Easy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
Я хочу, чтобы кнопкапоявляются в нижней центральной части диалогового окна (50-градусный отступ снизу), но отображаются в левом верхнем углу диалогового окна.
Это потому, что LinearLayout не знает ширину / высоту диалога, которая является размером фонового изображения, которое я использовал в XML-файле стиля.
Вопрос: Как узнать ширинувысота диалога, чтобы LinearLayout был такого же размера, как и размер диалога?