2014-07-09 16:23 1114人阅读 评论(0) 收藏 举报
 分类:
Andriod之路(72) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

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

希望对大家有帮助

主要代码如下:

  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. popupWindow = new PopupWindow(layout, 250, 200);
  11. popupWindow.setFocusable(true);
  12. popupWindow.setOutsideTouchable(true);
  13. popupWindow.setBackgroundDrawable(new BitmapDrawable());
  14. int[] location = new int[2];
  15. v.getLocationOnScreen(location);
  16. int v_with = v.getWidth();
  17. int v_height = v.getHeight();
  18. // 屏幕中央
  19. popupWindow.showAtLocation(v, Gravity.CENTER, 0, 0);
  20. ;
  21. // // 上方
  22. // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0],
  23. // location[1] - popupWindow.getHeight());
  24. // // 正上方
  25. // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY,
  26. // location[0] + Math.abs((v_with - popupWindow.getWidth()) / 2),
  27. // location[1] - popupWindow.getHeight());
  28. // // 下方
  29. // popupWindow.showAsDropDown(v);
  30. // // 正下方
  31. // popupWindow.showAsDropDown(v,
  32. // Math.abs((v_with - popupWindow.getWidth()) / 2), 0);
  33. //
  34. // // 左方
  35. // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]
  36. // - popupWindow.getWidth(), location[1]);
  37. // //正左方
  38. // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]
  39. // - popupWindow.getWidth(), location[1]-Math.abs((v_height -
  40. // popupWindow.getHeight()) / 2));
  41. // // 右方
  42. // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY,
  43. // location[0] + v.getWidth(), location[1]);
  44. // 正右方
  45. // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY,
  46. // location[0] + v.getWidth(), location[1]-Math.abs((v_height -
  47. // popupWindow.getHeight()) / 2));
  48. }

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

 
顶
0
踩
0
 
  相关文章推荐
 
查看评论
  暂无评论

 
 
您还没有登录,请[登录]或[注册]
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
 
 
 
 
    个人

(转载) popupWindow 指定位置上的显示的更多相关文章

  1. android学习——popupWindow 在指定位置上的显示

    先看效果图,免得浪费大家时间,看是不是想要的效果 . 直接上代码 ,核心方法. [java] view plaincopy private void showPopupWindow(View pare ...

  2. popupWindow 在指定位置上的显示

    先看效果图,免得浪费大家时间,看是不是想要的效果 . 直接上代码 ,核心方法. private void showPopupWindow(View parent) { if (popupWindow  ...

  3. 问题:asp.net 点击button按钮调到页面顶部;结果:asp.net点击一个按钮,使页面跳转到本面页上的指定位置

    asp.net点击一个按钮,使页面跳转到本面页上的指定位置 (2011-04-19 16:46:51) 转载▼ 标签: it   最近在做一个项目. 用到标题所说的功能. 实现方法: 1.在aspx中 ...

  4. $.messager.show扩展:指定位置显示

    扩展了个$.messager.showBySite,根据舍得的位置显示$.messager.show.代码如下: /** * 指定位置显示$.messager.show * options $.mes ...

  5. 【转载】C#使用InsertRange方法往ArrayList集合指定位置插入另一个集合

    在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,ArrayList集合可存储多种数据类型的对象.在实际的开发过程中,我们可以使用InsertRange方法在ArrayList集合指 ...

  6. 【转载】C#中string类使用Remove方法来移除指定位置的字符

    在C#的字符串操作过程中,有时候需要将字符串中指定位置的字符移除,此时就可能使用到字符串类string类中的Remove方法,此方法允许指定移除开始的开始的索引位置,以及移除的长度信息等,共有2个重载 ...

  7. 【转载】C#中使用List集合的Insert方法在指定位置插入数据

    在C#的List集合等数据类型变量中,我们可以使用List集合的Insert方法在指定的索引位置插入一个新数据,例如指定在List集合的第一个位置写入一个新数据或者在List集合的中间某个位置插入个新 ...

  8. postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库

    最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...

  9. 解决使用 Eruda 绑定 dom 未在指定位置显示问题

    前言 开发项目中,使用到 Eruda 打印控制台信息显示 文档:https://github.com/liriliri/eruda 安装 Eruda npm install eruda --save ...

随机推荐

  1. 从输入url到页面展示出来经历了哪些过程

    本文只是一个整理向的随笔,以个人思路来简化的同时进行适当的拓展,如有错误,欢迎指正. 1.输入网址.  此时得到一个url 2.域名解析 整个过程都是dns系统在发挥作用,它的目的是将域名和ip对应起 ...

  2. MQTTnet 的Asp.Net Core 认证事件的扩展

    MQTTnet 的数据接收 连接 等事件都很丰富, 唯独客户端连接验证不能依赖注入也不能很舒服的使用事件的方式, 因此MQTTnet.AspNetCoreEx 就出现了. 示例如下:在  public ...

  3. javaee IO流作业

    package Zy; import java.io.Serializable; public class Student implements Serializable{ private stati ...

  4. wafII笔记

    wafII笔记:    组件的使用方法:        组件属性:                 属性的设置和获取通过option方法来完成 waf("#id").wafProm ...

  5. 【剑指Offer】56、删除链表中重复的结点

      题目描述:   在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4-> ...

  6. HDU 1241 Oil Deposits (DFS or BFS)

    链接 : Here! 思路 : 搜索判断连通块个数, 所以 $DFS$ 或则 $BFS$ 都行喽...., 首先记录一下整个地图中所有$Oil$的个数, 然后遍历整个地图, 从油田开始搜索它所能连通多 ...

  7. 类型信息、异常、I/O流(day11)

    二十三 运行时的类型信息 typeid运算符 #include <typeinfo> typeid(类型/对象) )返回typeinfo的对象,用于描述类型信息. )在typeinfo类中 ...

  8. linux中php项目无法发送邮件:PEAR mail package is not installed

    发送邮件报错误:PEAR mail package is not installed的原因是linux中缺少PEAR mail组件, PEAR mail组件也就是PHP Pear Mail / SMT ...

  9. tornado服务器运行django应用

    在jumpserver项目中看到的 def main(): from django.core.wsgi import get_wsgi_application import tornado.wsgi ...

  10. 用vue2.x注册一个全局的弹窗alert组件、confirm组件

    一.在实际的开发当中,弹窗是少不了的,默认系统的弹窗样式太丑,难以满足项目的实际需求,所以需要自己定义弹窗组件,把弹窗组价定义为全局的,这样减少每次使用的时候引入麻烦,节省开发时间.本文将分享如何定义 ...