Я хотел бы добавить поддержку actionbar к одной из моих операций, я ранее использовал theme.translucent с этим действием, но для создания поддержки actionbar работой, я должен был наследовать Тему. AppCompat, я должен поддержать полупрозрачную тему в этом действии, но к сожалению нет Темы. AppCompat.translucent, который я вижу по умолчанию, является там каким-либо способом, которым это может быть сделано?
Можно создать новый набор стилей для использования, которые имеют те же свойства как 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
имело бы свойства Легкой темы.
Для использования нового стиля установите свойство темы на @style/Theme.AppCompat.Translucent
<activity
android:name=".TranslucentActivity"
android:theme="@style/Theme.AppCompat.Translucent" >
</activity>
Parama,
<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>
Это должно быть заголовком стиля, если Вы хотите панель инструментов на disappear.you, может использовать любую родительскую тему, которая имеет NoActionBar для других эффектов.
Hope это помогает
Если мы используем Полупрозрачный для прозрачного действия. Это поднимает другие вопросы - цвет Msgbox (теперь белый ранее черный), диалоговый цвет По умолчанию, счетчики делают выпадающий, но не показывают подчеркивание и выпадающую стрелку. Счетчики являются цветным черным черным текстом; выпадающий белый выпадающий черный текст и и т.д. преодолеть эту проблему, можно просто использовать ниже кода
В стиле
<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>
В файле манифеста
<activity
android:name=".activity.YourActivityName"
android:theme="@style/Theme.AppCompat.Transparent.NoActionBar" />
, я надеюсь, что это поможет Спасибо
Ответ Cameron хороший взлом , но он произвел плавающую строку меню и окрасил мою строку состояния, которую я не сделал требуемый. Таким образом, я добавил больше атрибутов XML для того, чтобы сделать строку состояния прозрачной (для sdk> =19) и использовал код Java для того, чтобы сделать строку меню невидимой.
mainActivity.java:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().hide();
...
}
...
}
styles.xml
<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>
manifest.xml
<application
android:icon="@mipmap/ic_launcher"
...
android:theme="@style/AppTheme"
...
>
<activity android:name=".MainActivity"
android:theme="@style/AppTheme.TranslucentBG"
...
>
...
</activity>
</application>