2016-03-17 2 views
0

Для моего приложения я показываю диалог в определенных ситуациях. Как только вы нажмете OK, я вижу, что этот крошечный черный ящик появляется менее чем за секунду, но его можно четко наблюдать. Казалось бы, это лежало под диалоговым окном.После завершения операции с диалоговым окном появляется черный ящик

Я провел некоторое исследование с использованием DDMS, но он говорит только, что его класс - android.widget.FrameLayout. У него нет идентификатора ресурса.

Как я могу понять, что это за элемент, и как я могу избавиться от него?

см снимок

enter image description here

ответ

0

попробовать это один:

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

ИЛИ

Вы можете попробовать тему в диалоге, с фоном прозрачный .. Что-то вроде этого ->

<style name="DialogCustomTheme" parent="android:Theme.Holo.Dialog.NoActionBar"> 
<item name="android:windowBackground">@color/transparent</item> 
<item name="android:colorBackgroundCacheHint">@null</item> 

0

набор фон для макета андроида: фон;

final Dialog dialog = new Dialog(CartActivity.this); 
      dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
      dialog.getWindow().getAttributes().height = 
        (int) (Global.getDeviceMetrics(this).heightPixels*0.8); 
      // dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
      dialog.setContentView(R.layout.dialog_cart); 
      TextView btn_Cancel = (TextView) dialog.findViewById(R.id.btn_cancel); 
      TextView btn_ok1 = (TextView) dialog.findViewById(R.id.btn_ok); 
      dialog.setCancelable(true); 

ширина диалогового набора и высоту на основе экрана.

public static DisplayMetrics getDeviceMetrics(Context context) { 
    DisplayMetrics metrics = new DisplayMetrics(); 
    WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); 
    Display display = wm.getDefaultDisplay(); 
    display.getMetrics(metrics); 
    return metrics; 
} 
Смежные вопросы