2013-08-04 15 views
8

W mojej aplikacji korzystam z szuflady nawigacji z biblioteki pomocy technicznej. Domyślnie jest półprzezroczysty, a ustawienie koloru tła lub jego dzieci powoduje dodanie półprzezroczystej wersji tego koloru. To jest szuflada i jej dwoje dzieci:Pozbycie się przezroczystości szuflady nawigacji na urządzeniach z Androidem

<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/black"> 
<FrameLayout 
    android:id="@+id/content_frame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 
<ListView android:id="@+id/left_drawer_p" 
    android:layout_width="500dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:choiceMode="singleChoice" 
    android:divider="@android:color/transparent" 
    android:dividerHeight="0dp" 
    android:background="@color/grey"/> 
</android.support.v4.widget.DrawerLayout> 

Odpowiedz

4

ja naprawdę nie rozumiem pytanie, ale jeśli staramy się szufladę nawigacji przejrzysty następnie użyć następującego kodu:

android:background="#60FFFFFF" 

Gdzie "60" to około 38% przezroczystości (60 na heksie ma 96 na calach dziesiętnych, więc 96/255%).

Ale jeśli szuflada nawigacja jest już przezroczysta Użyłem kodu:

android:background="#FFFFFF" 

To działa dobrze i nie jest przejrzysta.

Oba kolory są kodem koloru HTML dla białego, proste wyszukiwanie google znajdzie kod dla innych kolorów.

+0

ja nie powinienem tego mówić przejrzysty w tytule, przepraszam. Android: tło = @ kolor/szara linia w widoku listy przechodzi do kodu szesnastkowego i kontroluje kolor tła. Nie jest przezroczysty, tylko przezroczysty; tzn. widzę przyciski znajdujące się pod listview. Zmiana koloru nie pomaga. – user2651167

+1

Wiem, że to wybredne, ale 60 to nie przezroczystość%. Jest szesnastkowy dla 96 i przechodzi od 0-255, więc jest ~ 38% przezierności. – Dan

12

Chcesz setScrimColor z zerową alfa.

mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
mDrawerLayout.setScrimColor(Color.parseColor("#00FFFFFF")); 

gdzie R.id.drawer_layout jest id mój DrawerLayout

Powiązane problemy