自定义Popupwindow适用于所有屏幕大小的android

时间:2016-01-09 07:48:42

标签: android popupwindow

我正在使用自定义弹出窗口。在加载时我必须传递窗口的高度和宽度。但是我想加载所有屏幕尺寸的弹出窗口。我使用以下函数加载弹出窗口。

private void loadPopup() {
    LayoutInflater inflater = this.getLayoutInflater();
    final View layout = inflater.inflate(R.layout.activity_pop_up_ad, null);

    final PopupWindow windows = new PopupWindow(layout , 300,500,true);

    layout.post(new Runnable() {
        public void run() {
            windows.showAtLocation(layout,Gravity.CENTER, 0, 0);
        }

    });
    ImageButton close = (ImageButton) layout.findViewById(R.id.close);
       close.setOnClickListener(new OnClickListener() {

         @Override
         public void onClick(View v) {
             windows.dismiss();
         }
       });
}

我试过这个。但它完成了屏幕尺寸。我不想那么多。

windows.setWindowLayoutMode(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你不能只检测屏幕的高度/宽度,然后按某种因素缩小,这样它就不会像你想要的那样填满屏幕吗?

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

上面的代码可以为您提供屏幕的高度和宽度,然后您可以分割或减去高度和宽度,使弹出窗口尽可能多地填充屏幕。

这是你想要的吗?还是我误解了?