(转载) popupWindow 指定位置上的显示

popupWindow 指定位置上的显示 

标签: androidpopupWindowpopupWindow具体位置放置
 分类:

转载请指明出处 :http://blog.csdn.net/hellohhj/article/details/37600469

主要介绍一下popupWindow的简单用法,包括在控件的上方、正上方、下方、正下方、左方、正左方、右方、正右方以及在屏幕中间显示等等。。。

希望对大家有帮助

主要代码如下:

 

[java] view plain copy
  1. private void showPopUp(View v) {  
  2.         LinearLayout layout = new LinearLayout(this);  
  3.         layout.setBackgroundColor(Color.GRAY);  
  4.         TextView tv = new TextView(this);  
  5.         tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,  
  6.                 LayoutParams.WRAP_CONTENT));  
  7.         tv.setText("我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。");  
  8.         tv.setTextColor(Color.WHITE);  
  9.         layout.addView(tv);  
  10.   
  11.         popupWindow = new PopupWindow(layout, 250, 200);  
  12.   
  13.         popupWindow.setFocusable(true);  
  14.         popupWindow.setOutsideTouchable(true);  
  15.         popupWindow.setBackgroundDrawable(new BitmapDrawable());  
  16.   
  17.         int[] location = new int[2];  
  18.         v.getLocationOnScreen(location);  
  19.         int v_with = v.getWidth();  
  20.         int v_height = v.getHeight();  
  21.         // 屏幕中央  
  22.         popupWindow.showAtLocation(v, Gravity.CENTER, 0, 0);  
  23.         ;  
  24.         // // 上方  
  25.         // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0],  
  26.         // location[1] - popupWindow.getHeight());  
  27.         // // 正上方  
  28.         // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY,  
  29.         // location[0] + Math.abs((v_with - popupWindow.getWidth()) / 2),  
  30.         // location[1] - popupWindow.getHeight());  
  31.         // // 下方  
  32.         // popupWindow.showAsDropDown(v);  
  33.         // // 正下方  
  34.         // popupWindow.showAsDropDown(v,  
  35.         // Math.abs((v_with - popupWindow.getWidth()) / 2), 0);  
  36.         //  
  37.         // // 左方  
  38.         // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]  
  39.         // - popupWindow.getWidth(), location[1]);  
  40.         // //正左方  
  41.         // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]  
  42.         // - popupWindow.getWidth(), location[1]-Math.abs((v_height -  
  43.         // popupWindow.getHeight()) / 2));  
  44.         // // 右方  
  45.         // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY,  
  46.         // location[0] + v.getWidth(), location[1]);  
  47.         // 正右方  
  48.         // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY,  
  49.         // location[0] + v.getWidth(), location[1]-Math.abs((v_height -  
  50.         // popupWindow.getHeight()) / 2));  
  51.   
  52.     }  


 

下面附上源码地址 : http://download.csdn.net/detail/hellohhj/7612275

 


 

 
0
0
 

 

 
查看评论

  暂无评论

 
 
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
 
 
 
 
    个人
posted @ 2017-08-29 16:23  程序猿-北漂一族  阅读(178)  评论(0编辑  收藏  举报