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

版权声明:本文为博主原创文章,未经博主允许不得转载。
转载请指明出处 :http://blog.csdn.net/hellohhj/article/details/37600469
主要介绍一下popupWindow的简单用法,包括在控件的上方、正上方、下方、正下方、左方、正左方、右方、正右方以及在屏幕中间显示等等。。。
希望对大家有帮助
主要代码如下:
- private void showPopUp(View v) {
- LinearLayout layout = new LinearLayout(this);
- layout.setBackgroundColor(Color.GRAY);
- TextView tv = new TextView(this);
- tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
- LayoutParams.WRAP_CONTENT));
- tv.setText("我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。我最亲爱的。。。。。");
- tv.setTextColor(Color.WHITE);
- layout.addView(tv);
- popupWindow = new PopupWindow(layout, 250, 200);
- popupWindow.setFocusable(true);
- popupWindow.setOutsideTouchable(true);
- popupWindow.setBackgroundDrawable(new BitmapDrawable());
- int[] location = new int[2];
- v.getLocationOnScreen(location);
- int v_with = v.getWidth();
- int v_height = v.getHeight();
- // 屏幕中央
- popupWindow.showAtLocation(v, Gravity.CENTER, 0, 0);
- ;
- // // 上方
- // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0],
- // location[1] - popupWindow.getHeight());
- // // 正上方
- // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY,
- // location[0] + Math.abs((v_with - popupWindow.getWidth()) / 2),
- // location[1] - popupWindow.getHeight());
- // // 下方
- // popupWindow.showAsDropDown(v);
- // // 正下方
- // popupWindow.showAsDropDown(v,
- // Math.abs((v_with - popupWindow.getWidth()) / 2), 0);
- //
- // // 左方
- // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]
- // - popupWindow.getWidth(), location[1]);
- // //正左方
- // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]
- // - popupWindow.getWidth(), location[1]-Math.abs((v_height -
- // popupWindow.getHeight()) / 2));
- // // 右方
- // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY,
- // location[0] + v.getWidth(), location[1]);
- // 正右方
- // popupWindow.showAtLocation(v, Gravity.NO_GRAVITY,
- // location[0] + v.getWidth(), location[1]-Math.abs((v_height -
- // popupWindow.getHeight()) / 2));
- }
- 顶
- 0
- 踩
- 0
- 上一篇Android中获取手机号码和运营商信息
- 下一篇对android中ActionBar中setDisplayHomeAsUpEnabled和setHomeButtonEnabled和setDisplayShowHomeEnabled方法的理解
- 个人
(转载) popupWindow 指定位置上的显示的更多相关文章
- android学习——popupWindow 在指定位置上的显示
先看效果图,免得浪费大家时间,看是不是想要的效果 . 直接上代码 ,核心方法. [java] view plaincopy private void showPopupWindow(View pare ...
- popupWindow 在指定位置上的显示
先看效果图,免得浪费大家时间,看是不是想要的效果 . 直接上代码 ,核心方法. private void showPopupWindow(View parent) { if (popupWindow ...
- 问题:asp.net 点击button按钮调到页面顶部;结果:asp.net点击一个按钮,使页面跳转到本面页上的指定位置
asp.net点击一个按钮,使页面跳转到本面页上的指定位置 (2011-04-19 16:46:51) 转载▼ 标签: it 最近在做一个项目. 用到标题所说的功能. 实现方法: 1.在aspx中 ...
- $.messager.show扩展:指定位置显示
扩展了个$.messager.showBySite,根据舍得的位置显示$.messager.show.代码如下: /** * 指定位置显示$.messager.show * options $.mes ...
- 【转载】C#使用InsertRange方法往ArrayList集合指定位置插入另一个集合
在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,ArrayList集合可存储多种数据类型的对象.在实际的开发过程中,我们可以使用InsertRange方法在ArrayList集合指 ...
- 【转载】C#中string类使用Remove方法来移除指定位置的字符
在C#的字符串操作过程中,有时候需要将字符串中指定位置的字符移除,此时就可能使用到字符串类string类中的Remove方法,此方法允许指定移除开始的开始的索引位置,以及移除的长度信息等,共有2个重载 ...
- 【转载】C#中使用List集合的Insert方法在指定位置插入数据
在C#的List集合等数据类型变量中,我们可以使用List集合的Insert方法在指定的索引位置插入一个新数据,例如指定在List集合的第一个位置写入一个新数据或者在List集合的中间某个位置插入个新 ...
- postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库
最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...
- 解决使用 Eruda 绑定 dom 未在指定位置显示问题
前言 开发项目中,使用到 Eruda 打印控制台信息显示 文档:https://github.com/liriliri/eruda 安装 Eruda npm install eruda --save ...
随机推荐
- 01 Centos安装python3
Centos安装python3 安装软件的方法有哪几种 1 yum一键安装 2 rpm包安装(太麻烦,不推荐使用) 3 下载源码包,进行编译安装 安装python3的步骤 1.下载python3源码包 ...
- kvm介绍、安装及创建虚拟机
kvm虚拟化介绍 一.虚拟化分类 1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立 ...
- 利用perf排查sys高的问题
思路 perf top perf record -C 44,48,60,63 -g -o a.data perf report -i a.data --call-graph 查看调用链,可以确定,基本 ...
- 定位IO瓶颈的方法,iowait低,IO就没有到瓶颈?
通过分析mpstat的iowait和iostat的util%,判断IO瓶颈 IO瓶颈往往是我们可能会忽略的地方(我们常会看top.free.netstat等等,但经常会忽略IO的负载情况),今天给大家 ...
- 共享内存、网络(day13)
一.共享内存 .获取一个键值 ftok() .使用键值获取共享内存的id shmget() #include <sys/ipc.h> #include <sys/shm.h> ...
- Centos 7 中yum安装Mysql和修改mysql配置
一. mysql安装 1.安装MySQL官方的Yum Repository [root@ecs-7bec-0002 mysql]# wget -i -c http://dev.mysql.com/ge ...
- laravel-hprose(rpc框架)
Laravel-hprose 基于 hprose/hprose-php 开发的Laravel扩展:laravel-hprose 版本要求 Laravel>=5.2 安装 composer req ...
- js实现的时间轴效果
今天整理以前的资料发现以前写的一个时间轴效果,当时也是网上找了很久没有找到,就自己写了一个,现在发出来给有需要的人,代码写的可能有点乱. 效果图: 下面是美工做的设计图的效果(有个美工就是好): 下面 ...
- ACDream - k-GCD
先上题目: B - k-GCD Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Sub ...
- HDU 4521
就是那个O(nlogn)的LIS算法. #include <iostream> #include <cstdio> using namespace std; int dt[10 ...