Android переопределяет тему диалога по умолчанию

Я хочу создать собственный стиль для действия, которое будет выглядеть как диалог. Но я хочу разместить этот диалог в правом верхнем углу экрана, а также установить прозрачный фон.

Я установил тему активности на @android:style/Theme.Dialog, но теперь я хочу переопределить существующую тему, но я не нашел эту тему в своей папке sdk.

Может кто-нибудь сказать мне, как я могу изменить тему диалога по умолчанию?


person Allrast    schedule 26.03.2012    source источник


Ответы (1)


Вы можете определить стили для настройки любого представления.

Например:

<style name="Theme.Dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowTitleStyle">@android:style/DialogWindowTitle</item>
    <item name="android:windowBackground">@android:drawable/transparent</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
</style>
person Paresh Mayani    schedule 26.03.2012
comment
Здорово. Спасибо за ваш ответ. откуда вы знаете какие свойства имеет диалоговый объект? и что за анимация и т.д. - person Allrast; 26.03.2012
comment
@Allrast: чтобы узнать обо всех доступных параметрах, вы можете проверить исходный код Android и посмотреть styles.xml и themes.xml. В этом случае для диалогов извлеките темы.xml -> Тема.Диалог. Все атрибуты, определенные внутри него, обычно являются теми, которые вы можете изменить. - person Aswin Kumar; 22.04.2013
comment
Применяется ли это, или мне нужно дополнительно установить тему с помощью кода или xml, например. theme="@style/Theme.Dialog" - person behelit; 14.11.2018