Intereting Posts
Сбой приложения Android после использования фрагментов и ViewPager Есть ли #ifdef в Qt, чтобы определить, строим ли мы для Android? Неправильные временные метки представления при обратном просмотре через видео MP4 В чем разница между android: layout_width и android: width Добавление версии сервисов Google Play в манифест вашего приложения? Android – Не удалось найти стиль «mapViewStyle» в текущей теме Скройте EditText и сделайте его видимым, щелкнув меню Создание мобильной версии веб-сайта Android, как получить контакты Facebook / Twitter / etc Тестирование геообработки с помощью Google Play Services 6.5. + Ошибка NewFromFD в nativeDecodeFileDescriptor – Android 4.4 Как отобразить Soft Keyboard из сервиса? Совместное использование Android + Eclipse через SVN? События VideoView onTouch: приостановить / возобновить видео и показать / скрыть MediaController и ActionBar Как удалить десятичную часть из числа с плавающей запятой, которое содержит .0 в java

Android AlertDialog с прозрачным фоном

У меня есть пользовательский AlertDialog, и я хочу сделать его полностью прозрачным. Обычно, чтобы сделать деятельность полностью прозрачной, я делаю следующее

Вот код диалога:

 LayoutInflater inflater = getLayoutInflater(); View dialoglayout = inflater.inflate(R.layout.activity_mine1, (ViewGroup) findViewById(R.layout.mine1)); mine1 = new AlertDialog.Builder(this); mine1.setView(dialoglayout); mine1.show(); 

И мой xml – это только relativeLayout с другими дочерними представлениями:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" > ... </RelativeLayout> 

Примечание. Я уже рассмотрел некоторые подобные сообщения здесь, но они, похоже, не работают.

Моя настоящая причина в том, что фон, который я действительно хочу использовать, не является прямоугольным. Я заставляю его работать. Но вместо этого я хочу использовать диалог.

РЕДАКТИРОВАТЬ:

Дальше играю, у меня есть этот style.xml

 <?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="CustomDialog" parent="android:Theme.Holo.Dialog"> <item name="android:windowIsTranslucent">true</item> <item name="android:windowBackground">@android:color/transparent</item> </style> </resources> 

Который я добавляю как

 new AlertDialog.Builder(this, R.style.CustomDialog) 

Solutions Collecting From Web of "Android AlertDialog с прозрачным фоном"

Используйте Dialog вместо AlertDialog.Builder и поэтому используйте setContentView вместо setView.

  <style name="CustomAlertDialog" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsFloating">true</item> <item name="android:backgroundDimEnabled">true</item> <item name="android:width">300dip</item> <item name="android:textColor">#FFFFFF</item> </style> Dialog connectionDialog = new Dialog(this, R.style.CustomAlertDialog); connectionDialog.setContentView(set your view here); connectionDialog.show(); 
 connectionDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 

Похоже, что это связано с android:backgroundDimEnabled и / или android:backgroundDimAmount в вашем стиле. Взгляните на этот ответ для получения дополнительной информации: прозрачная активность, заполняющая весь экран

Возможно, вы захотите попробовать установить для android:backgroundDimEnabled значение false.