首页 > 其他 > 详细

How to limit Dialog's max height?

时间:2014-07-17 17:28:38      阅读:410      评论:0      收藏:0      [点我收藏+]

1. We can make it to play trick in code. 

At Dialog‘s show function, after app has set contentView, we can add a GlobalLayoutListener on decorView‘s ViewTreeObserver. At the listener, we can check the decorView‘s height, if over the max height, just truncate it.

 1 private void resolveAlertDialogHeight() {
 2         WindowManager wm = (WindowManager) mContext
 3                 .getSystemService(Context.WINDOW_SERVICE);
 4         Display display = wm.getDefaultDisplay();
 5 
 6         Point size = new Point();
 7         display.getSize(size);
 8         int height = size.y;
 9 
10         final int maxHeight = (int) (height * 0.68);
11 
12         final View decorView = mWindow.getDecorView();
13         decorView.getViewTreeObserver().addOnGlobalLayoutListener(
14                 new OnGlobalLayoutListener() {
15                     @Override
16                     public void onGlobalLayout() {
17                         int actualHeight = decorView.getMeasuredHeight();
18 
19                         WindowManager.LayoutParams l = mWindow.getAttributes();
20                         if (actualHeight > maxHeight) {
21                             l.height = maxHeight;
22 
23                             mWindow.setAttributes(l);
24                         }
25 
26                         decorView.getViewTreeObserver()
27                                 .removeOnGlobalLayoutListener(this);
28                     }
29                 });
30     }

 

2. Modify windowBackground reference png.

The dot9 png referenced by android:windowBackground attr is the Dialog‘s background. We can modify this dot9 png, adding extra padding on top and bottom to limit the margin of Alert.

How to limit Dialog's max height?,布布扣,bubuko.com

How to limit Dialog's max height?

原文:http://www.cnblogs.com/haobo/p/3850830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!