2015-02-04 10 views
5

Próbuję utworzyć ten interfejs:Transparent actionBar i StatusBar w Androidzie lizak

enter image description here

I tu jest mój rzeczywisty wynik:

enter image description here

  • Pasek stanu jest dobrze przezroczysty i widzimy mój obraz jako tło: OK
  • Pasek akcji nie jest tr ansparent: NOK

Oto kod mojego tematu, który używam do tej działalności:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <!-- inherit from the material theme --> 
    <style name="MaterialAppDetailTheme" parent="android:Theme.Material.Light"> 

     <item name="android:statusBarColor">@android:color/transparent</item> 
     <item name="android:windowActionBarOverlay">true</item> 

     <!-- enable window content transitions --> 
     <item name="android:windowContentTransitions">true</item> 

     <!-- specify shared element transitions --> 
     <item name="android:windowSharedElementEnterTransition"> 
      @transition/change_image_transform</item> 
     <item name="android:windowSharedElementExitTransition"> 
      @transition/change_image_transform</item> 

     <item name="android:windowTranslucentNavigation">true</item> 
     <item name="android:windowTranslucentStatus">true</item> 

    </style> 
</resources> 
+0

Używasz actionbar lub paska narzędzi? –

+0

@PedroOliveira actionBar – wawanopoulos

Odpowiedz

4

Można zmienić kolor paska narzędzi, aby przezroczysty tak:

mToolbar.setBackgroundColor(getResources().getColor(android.R.color.transparent)); 

Można zmień także tło w XML:

android:background="@android:color/transparent" 

Lub jeśli używasz ActionBar:

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(android.R.color.transparent))); 

Zastosowanie getActionBar() jeśli nie używasz ActionBarActivity

Wynik:

enter image description here

+0

Tak, działa. Sprawdź na ekranie –

+0

Musi dodać dodatkowy 'marginTop' do rozmiaru paska stanu, jeśli użyje' fitSystemWindow' w xml tematu/layoutu. W przeciwnym razie dolna linia paska stanu będzie widoczna na ikonie nawigacji, która nie wygląda dobrze. –

+0

Przypuszczam, że dostał to zakryte, ponieważ jedynym problemem, który opisał, był fakt, że jego pasek akcji nie był przezroczysty. Obecny ekran był po prostu czymś, co zbudowałem, żeby pokazać efekt. –

1

Użyj tego stylu:

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="android:textColorPrimary">@color/my_text_color</item> 
    <item name="colorPrimary">@android:color/transparent</item> 
    <item name="windowActionBarOverlay">true</item> 
</style> 
0

Dla API, które> = 21, dodaj do motywu te linie kodu

<item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:statusBarColor">@android:color/transparent</item>

Nie zapomnij dodać

android:fitsSystemWindows="true"

Powiązane problemy