2016-02-05 4 views
1

I want to do following Я хочу синий полупрозрачный позади диалоговое окно custome. но я не получаю синий цветandroid - Диалог с прозрачным фоном (с любым цветом)

Вот код диалога декларации:

final Dialog dialog = new Dialog(BookAppointmentActivity.this,R.style.TranslucentBlue); 
       //Dialog dialog = new Dialog(BookAppointmentActivity.this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 

       dialog.setContentView(R.layout.customedialog); 
       Window window = dialog.getWindow(); 
       window.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 


       dialog.show(); 

Вот мой style.xml

<color name="transparent_green_color">@color/dialog_back</color> 
    <style name="TranslucentBlue" parent="android:Theme.Translucent"> 
     <item name="android:windowBackground">@color/transparent_green_color</item> 
    </style> 

ответ

2

Ok Я получил решение

Первое изменение делают в теме. Не делайте тему custome. Используйте android.R.style.Theme_Translucent_NoTitleBar_Fullscreen

final Dialog dialog = new Dialog(BookAppointmentActivity.this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 

вместо пользовательской темы, а также добавить следующее:

window.setBackgroundDrawableResource(R.color.dialog_back); 

Полный код:

final Dialog dialog = new Dialog(context, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 

dialog.setContentView(R.layout.customedialog); 
Window window = dialog.getWindow(); 

window.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 

window.setBackgroundDrawableResource(R.color.dialog_back); 
dialog.show(); 

Использовать цвет из файла ресурсов color.xml и, наконец, но не в последнюю очередь надевают» Не забывайте уменьшать непрозрачность цвета.

Смежные вопросы