2012-05-10 36 views

Odpowiedz

0

Jeśli się nie mylę ... można utworzyć działanie z ListView .... i umieścić motyw jak okna w swoim manifeście tak ..

<activity android:theme="@android:style/Theme.Dialog" /> 

uczyni ciemniejszego tła.

+0

OK, ale ... Dlaczego zmienić kod i zrobić "PopupWindow" działalność. – Rajkiran

+1

, ponieważ twoje wyskakujące okienko będzie działaniem, które będzie miało własne pole tła ..... które domyślnie jest ciemne ... daje wymagany efekt .. – 5hssba

+0

Zgadzam się, ale mówię, dlaczego wywołać działanie, gdy masz kontrolę PopupWindow z Tobą. W każdym razie, jeśli nic nie działa, pójdę z tym rozwiązaniem. – Rajkiran

0

wypróbuj ten kod, jeśli twoje popup jest aktywnością, to pomoże to zdecydowanie. Utwórz plik mystyle.xml w katalogu wartości projektu i wprowadź te zmiany.

<resources> 
    <style name="customStyle" parent="@android:style/Theme.Dialog"> 
    <item name="android:windowBackground">@android:color/transparent</item> 
    </style> 
</resources> 

zrobić tę zmianę w menifest.xml

<activity android:name="yourActivity" android:theme="@style/customStyle"></activity> 
+0

Jak wspomniano powyżej, używam kontrolki 'PopupWindow' i NIE' Activity'. – Rajkiran

3

W pliku xml dodać coś takiego o szerokości i wysokości co 'match_parent'.

<RelativeLayout 
     android:id="@+id/bac_dim_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#C0000000" 
     android:visibility="gone" > 
</RelativeLayout> 

W swojej działalności OnCreate

//setting background dim when showing popup 
back_dim_layout = (RelativeLayout) findViewById(R.id.bac_dim_layout); 

Wreszcie uwidocznić kiedy pokażesz swoją popupwindow i dokonać jego widoczne już po wyjściu popupwindow.

back_dim_layout.setVisibility(View.Visible); 
back_dim_layout.setVisibility(View.GONE);