Были похожие вопросы, связанные с диалоговыми операциями, и как сделать этот полный экран, но у меня есть немного другая проблема. Я хочу, чтобы эти диалоги отображали содержимое активности.
Теперь "действия диалога" наследуют следующую тему,
<style name="tabDialog" parent="@android:Theme.Dialog">
<item name="android:windowBackground">@drawable/panel_background</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">false</item>
</style>
Пример определения активности в манифесте,
<activity android:name=".TabSettingsActivity"
android:theme="@style/tabDialog" android:excludeFromRecents="true"
android:configChanges="keyboardHidden" />
Представление родительского представления содержимого определяется следующим образом:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@layout/dialog_rounded_background"
android:orientation="vertical">
и все дочерние представления в макете также указывают wrap_content для обоих измерений. Я попытался использовать RelativeLayout как родительский, но тот же самый.
После того, как представление содержимого было установлено в onCreate активности, я делаю это
getWindow().setLayout(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
Ничто из этого не имеет никакого значения. Проблема в основном связана с высотой диалога, которая на 50% больше необходимой. Половина диалога - это просто мертвое пространство. Установка размеров корневого представления для жестко закодированных блоков dp решает проблему, но это похоже на обходное решение, а не на решение.
Любые идеи кто-нибудь?
Спасибо заранее.
Приветствия