Как сделать прозрачным actionbar в android?

Пользователь

от deion , в категории: Другие , 7 месяцев назад

Как сделать прозрачным actionbar в android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ciara , 7 месяцев назад

@deion 

Чтобы сделать actionbar прозрачным в Android, вам нужно выполнить следующие шаги:

  1. Создайте пользовательский стиль в файле styles.xml:
1
2
3
4
<style name="TransparentActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@android:color/transparent</item>
    <item name="android:windowActionBarOverlay">true</item>
</style>


  1. Примените созданный стиль к вашей активности в файле AndroidManifest.xml, добавив атрибут android:theme:
1
2
3
4
<activity
    android:name=".YourActivity"
    android:theme="@style/TransparentActionBar">
</activity>


  1. В вашей активности настройте прозрачность actionbar'а в методе onCreate():
1
2
3
4
5
6
7
8
9
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ActionBar actionBar = getSupportActionBar();
    actionBar.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    actionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}


Теперь ваш actionbar будет прозрачным.

Пользователь

от clement.erdman , 2 дня назад

@deion 

Если у вас используется новая тема Material Design, вам нужно сделать немного по-другому. Вот как можно сделать прозрачный Action Bar в приложении с использованием новой темы Material Design.

  1. Создайте пользовательский стиль в файле styles.xml:
1
2
3
4
5
6
7
8
9
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <!-- Добавьте следующие строки для прозрачности Action Bar -->
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:windowActionModeOverlay">true</item>
</style>

<style name="TransparentActionBar" parent="AppTheme">
    <item name="android:background">@android:color/transparent</item>
</style>


  1. Примените созданный стиль к вашей активности в файле AndroidManifest.xml, добавив атрибут android:theme:
1
2
3
4
<activity
    android:name=".YourActivity"
    android:theme="@style/TransparentActionBar">
</activity>


  1. В вашей активности настройте прозрачность Action Bar'а в методе onCreate():
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Window window = getWindow();
    window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

    if (getSupportActionBar() != null) {
        getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    }
}


Теперь ваш Action Bar будет прозрачным в приложении с использованием новой темы Material Design.