android как получить тему типа appcompat.translucent с поддержкой панели действий?

<p>я хотел бы добавить панель действий поддержки к одному из моих действий, ранее я использовал theme.translucent с этим действием, но для того, чтобы заставить панель действий поддержки работать, мне нужно было наследовать theme.appcompat, мне нужно поддерживать полупрозрачный тема в этом упражнении, но, к сожалению, нет theme.appcompat.translucent, который я вижу по умолчанию, есть ли способ сделать это?</p>

<p>вы можете создать новый набор стилей, которые будут иметь те же свойства, что и <code>theme.translucent</code> из <a href="https://github.com/android/platform\_frameworks\_base/blob/master/core/res/res/values/themes.xml">themes.xml</a> .</p><p>добавьте следующее в ваш файл styles.xml:</p><pre><code><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> </code></pre><p>вы можете изменить префикс <code>theme.appcompat</code> на что-то другое, если вы хотите наследовать другие элементы из темы, такие как стили диалогов и т.д. например, имя, подобное <code>theme.appcompat.light.translucent</code>, будет иметь свойства темы light.</p><p>чтобы использовать новый стиль, установите для свойства темы значение <code>@style/theme.appcompat.translucent</code></p><pre><code><activity android:name=".translucentactivity" android:theme="@style/theme.appcompat.translucent" > </activity> </code></pre>

<p>парама,</p><pre><code><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> </code></pre><p>это должен быть заголовок стиля, если вы хотите, чтобы панель инструментов исчезла. вы можете использовать любую родительскую тему, которая имеет noactionbar для других эффектов.</p><p>надеюсь это поможет</p>

<p>если мы используем прозрачный для прозрачной деятельности. это поднимает другие проблемы - цвет msgbox (теперь белый, ранее черный), цвет диалога по умолчанию, счетчики выпадающие, но не показывают подчеркивание и стрелку раскрывающегося списка. блесны цвет черный, текст черный; выпадающий белый выпадающий текст черный и т. д. чтобы преодолеть эту проблему, вы можете просто использовать приведенный ниже код</p><p><strong>в стиле</strong></p><pre><code><style name="theme.appcompat.transparent.noactionbar" parent="theme.appcompat.light.noactionbar"> <item name="android:windowistranslucent">true</item> <item name="android:windowbackground">@android:color/transparent</item> <item name="android:windowcontentoverlay">@null</item> <item name="android:windownotitle">true</item> <item name="android:windowisfloating">false</item> <item name="android:backgrounddimenabled">false</item> </style> </code></pre><p><strong>в файле манифеста</strong></p><pre><code><activity android:name=".activity.youractivityname" android:theme="@style/theme.appcompat.transparent.noactionbar" /> </code></pre><p>надеюсь это поможет спасибо</p>

<p>ответ кэмерон: <a href="https://stackoverflow.com/a/21492572/4831795">хороший взлом</a> , но он выдает плавающую панель действий и окрашивает мою строку состояния, чего я не хотел. поэтому я добавил дополнительные атрибуты xml для прозрачности строки состояния (для sdk> = 19) и использовал код java, чтобы сделать панель действий невидимой.</p><p>mainactivity.java:</p><pre><code>public class mainactivity extends appcompatactivity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity\_main); getsupportactionbar().hide(); ... } ... } </code></pre><p>styles.xml</p><pre><code><style name="apptheme.translucentbg"> <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> <item name="android:windowtranslucentstatus">true</item> <item name="android:windowtranslucentnavigation">true</item> </style> </code></pre><p>manifest.xml</p><pre><code><application android:icon="@mipmap/ic\_launcher" ... android:theme="@style/apptheme" ... > <activity android:name=".mainactivity" android:theme="@style/apptheme.translucentbg" ... > ... </activity> </application> </code></pre>