Intereting Posts
Android Edittext вопрос, заменить клавиатуру введите с сделано Android ListView с флажком Удаление / Получение идентификатора строки Paypal MPL для Android и примера Pizza «Приложение не авторизовано, идентификатор ошибки -1» Android, почему Фрагменты не должны напрямую общаться друг с другом? Textview не выравнивает центр ниже изображения Как создать векторные чертежи для Android? Как связать ресурсы android xml с редактором по умолчанию в eclipse? Как получить температуру процессора в Android Получение событий onTouch и onClick с Android Конвертировать Mat в Bitmap Opencv для Android Как нарисовать наложение на SurfaceView, используемое камерой на Android? Как обновить галерею Android после фотографии? Как включить внешнюю сборку в Android Studio на постоянной основе? Android Lollipop отправляет несколько BroadcastReceivers для изменений состояния телефона Приложение Ionic / Cordova не получает push-уведомление в фоновом режиме

Set Прозрачный фон для alertdialog в android

Введите описание изображения здесь

Я хочу показать диалоговое окно с прозрачным фоном. Диалоговое окно «Мой код предупреждения»:

AlertDialog.Builder imageDialog = new AlertDialog.Builder(SubProducts.this); LayoutInflater inflater = (LayoutInflater)SubProducts.this.getSystemService(LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.cust_toast_layout,(ViewGroup)findViewById(R.id.linearLayout2)); ImageView image = (ImageView)layout.findViewById(R.id.imageView1); image.setPadding(0, 20, 0, 0); imgLoader.DisplayImage(image_url, loader, image); TextView tprice=(TextView)layout.findViewById(R.id.pricetext); tprice.setText("$ "+pricedouble); TextView tvdprh=(TextView)layout.findViewById(R.id.textView1); tvdprh.setText(prohd); WebView wv=(WebView)layout.findViewById(R.id.webview); Spanned sub=Html.fromHtml(descp); String s = "<html><head><style type='text/css' >@font-face {font-family:'myfont';src: url('file:///android_asset/fonts/ABeeZee-Regular.ttf');}body {margin:0px;color:000000;font-family: myfont;" + "text-align: justify;}</style></head><body>" + sub + "</body></html>"; wv.loadDataWithBaseURL("", s, "text/html", "utf-8", null); wv.setVerticalScrollBarEnabled(true); wv.setBackgroundColor(Color.TRANSPARENT); wv.setPadding(5, 25, 5, 0); ImageView imgcartl=(ImageView)layout.findViewById(R.id.imageView2); imgcartl.setBackgroundResource(R.drawable.cartlines); ImageView brobutton=(ImageView)layout.findViewById(R.id.imageView3); brobutton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intentlabl = new Intent(getBaseContext(), Label.class); Bundle b=new Bundle(); b.putString("url", image_urlpdf); b.putBoolean("isDialog", true); intentlabl.putExtras(b); startActivity(intentlabl); } }); ImageView shobutton=(ImageView)layout.findViewById(R.id.imageView4); shobutton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //intent code } }); ImageView addbutton=(ImageView)layout.findViewById(R.id.imageView5); addbutton.setBackgroundResource(R.drawable.addicon); addbutton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub passingid.add(prodid); Product prodobj=new Product(); prodobj.setId(passingid); new LongRunningGetIO4().execute(pricedouble, prodid); } }); imageDialog.setView(layout); imageDialog.create(); imageDialog.show(); 

Мое фоновое изображение содержит закругленные углы. Но, к сожалению, поп появляется с прямоугольным белым фоном. Любое тело plz предлагает мне идею. Спасибо в Advance.

Определите, что следует в styles.xml

 <style name="CustomDialog" parent="android:Theme.Dialog"> <item name="android:windowIsTranslucent">true</item> <item name="android:windowBackground">@android:color/transparent</item> </style> 

И передать его как аргумент конструктору AlertDialog

 AlertDialog.Builder imageDialog = new AlertDialog.Builder(SubProducts.this, R.style.CustomDialog); 

Или программно, через экземпляр Dialog вы можете вызвать

 myDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)) 

Еще одно решение:

При использовании Alertdialog.builder – это не предоставление getwindow() . Поэтому мы можем заставить его работать следующим образом:

 AlertDialog dialog = builderScan.create(); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); dialog.show(); 

И ваш фон AlertDialog будет трансперентным.

Вместо этого:

 imageDialog.create(); imageDialog.show(); 

Вы можете попробовать сделать что-то вроде этого:

 AlertDialog imageDialogAlert = imageDialog.create(); imageDialogAlert.show(); imageDialogAlert.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 
 protected AlertDialog(Context context) { this(context, com.android.internal.R.style.Theme_Translucent_NoTitleBar_Fullscreen); } public Builder(Context context) { this(context, com.android.internal.R.style.Theme_Translucent_NoTitleBar_Fullscreen); } 

Позвоните,

 customDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 

Непосредственно перед

 customDialog.show(); 

Код ниже изменяет макет фона.

 LayoutInflater inflater = MainActivity.this.getLayoutInflater(); View layout = inflater.inflate(R.layout.your_layout, null); final AlertDialog alertDio = new AlertDialog.Builder(MainActivity.this) .setView(layout) .show(); alertDio.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.parseColor("#801b5e20")));