Подтвердить что ты не робот

Android, как получить тему AppCompat.Translucent типа с поддержкой панели действий?

Я хотел бы добавить панель действий поддержки в один из моих действий, я ранее использовал тему .translucent с этим действием, но для того, чтобы сделать работу с панелью поддержки, мне нужно было наследовать Theme.AppCompat, мне нужно поддерживайте полупрозрачную тему в этом упражнении, но, к сожалению, не существует Theme.AppCompat.translucent, который я могу видеть по умолчанию, есть ли способ, которым это можно сделать?

4b9b3361

Ответ 1

Вы можете создать новый набор стилей для использования, которые имеют те же свойства, что и Theme.Translucent из themes.xml.

Добавьте в свой файл styles.xml следующее:

<style name="Theme.AppCompat.Translucent">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:colorBackgroundCacheHint">@null</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>

Вы можете изменить префикс Theme.AppCompat на что-то другое, если вы хотите наследовать другие вещи из темы, такие как стили диалога и т.д. Например, имя типа Theme.AppCompat.Light.Translucent будет иметь свойства темы Light.

Чтобы использовать новый стиль, установите для свойства темы значение @style/Theme.AppCompat.Translucent

<activity
    android:name=".TranslucentActivity"
    android:theme="@style/Theme.AppCompat.Translucent" >
</activity>

Ответ 2

Парама,

<style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation</item>
    </style>

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

Надеюсь, что это поможет