**1.View中的方法getLocationOnScreen(int[] location):获取该控件在屏幕中的绝对坐标并将坐标保存在数组中:如下图所示,A为屏幕的原点,R,C点即为view的绝对坐标的位置

getLocationInWindow(int[] location) :获取控件相对于父窗口的坐标,如c在R中,获取c在R中的坐标**

2.

public void click1(View v) {

View view = View.inflate(this, R.layout.dialog, null);

//获取PopupWindow中View的宽高

view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);

int measuredWidth = view.getMeasuredWidth();

int measuredHeight = view.getMeasuredHeight();

PopupWindow popupWindow = new PopupWindow(view, getResources().getDisplayMetrics().widthPixels

, getResources().getDisplayMetrics().heightPixels);

popupWindow.setFocusable(true);//popupwindow设置焦点

popupWindow.setBackgroundDrawable(new ColorDrawable(0xaa000000));//设置背景

popupWindow.setOutsideTouchable(true);//点击外面窗口消失

// popupWindow.showAsDropDown(v,0,0);

//获取点击View的坐标

int[] location = new int[2];

v.getLocationOnScreen(location);

popupWindow.showAsDropDown(v);//在v的下面

//显示在上方

popupWindow.showAtLocation(v,Gravity.NO_GRAVITY,location[0]+v.getWidth()/2,location[1]-measuredHeight);

//显示在正上方

popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, (location[0] + v.getWidth() / 2) - measuredWidth / 2, location[1]-measuredHeight);

//显示在左方

popupWindow.showAtLocation(v,Gravity.NO_GRAVITY,location[0]-popupWindow.getWidth(),location[1]);

//显示在下方

popupWindow.showAtLocation(v,Gravity.NO_GRAVITY,location[0]+v.getWidth(),location[1]);

popupWindow.setAnimationStyle(android.R.style.Animation_Translucent);//设置动画

}

android设置控件的坐标,Android中使PopupWindow显示在指定控件的上下左右!相关推荐

  1. android 设置键盘弹出动画,Android实现键盘弹出界面上移的实现思路

    1.首先说一下思路: 基本就是结合layout中ScrollView视图和AndroidManifest.xml中activity中的android:windowSoftInputMode属性配置实现 ...

  2. android设置悬浮窗口的透明度,Android TransparentActivity 悬浮窗兼容方案

    一.方案说明 方案对比: Overlay方案: 1. <> overlay悬浮窗功能比较强大,支持很多交互. 2.部分手机(如小米)不支持指纹识别等安全校验,因为有悬浮窗权限的app对需要 ...

  3. android触摸事件触摸点坐标,Android开发——触摸事件TouchEvent详解及其应用

    2020.8.8 Activity的功能: 1.管理界面的生命周期 2.接收事件(触摸事件) 一.触摸事件传递解析 touch事件的传递.png 当手指按下时会首先调用onUserInteractio ...

  4. android设置输入框输入字符限制,Android里限制EditText控件可以输入字符内容的范围的方法...

    介绍 介绍 福哥在制作APP的时候,需要限制文本输入框可以输入的内容.经过一顿研究,发现了digits这个属性.使用digits属性可以限制输入框接受的字符类型和范围,范围之内的可以被输入,范围之外的 ...

  5. android 设置字体大小和不同颜色,Android代码中设置字体大小,字体颜色,显示两种颜色.倒计时效果...

    Android代码中设置字体大小,字体颜色,显示两种颜色 在xml文件中字体大小用的像素 android:id="@+id/uppaid_time" android:layout_ ...

  6. android设置蓝牙扫描时间,如何在android中更改蓝牙适配器的扫描模式?

    您无法使用第三方(非内核/非系统)应用程序在4.2及更高版本中设置Android设备的扫描模式.您只能启用发现(SCAN_MODE_CONNECTABLE_DISCOVERABLE),并选择使用EXT ...

  7. android设置大小能用小数,Android中关于保留小数点位数的处理

    保留两位小数 方法一: { double c = 3.154215; java.text.DecimalFormat myformat=new java.text.DecimalFormat(&quo ...

  8. android设置应用字体大小,在Android应用程序改变的TextView的字体大小从原始设置更改字体大小(Font size...

    我想在我的应用程序指定我自己的文字大小,但我有这样一个问题. 当我在设备设置中更改字体大小,我的应用程序的字体大小TextView也会改变. Answer 1: 其实,设置字体大小只影响大小sp . ...

  9. android 设置单边框,详解Android用Shape制作单边框图的两种思路和坑

    开发中遇到单/多边框的UI,简单的可以自己写shape图,复杂的一般都让设计配合制作9patch图了. 今天不说需要切图的情况,只聊简单的单/多边框,主要是实现思路. 效果很简单: 就以上图为例介绍, ...

最新文章

  1. 皮一皮:当群聊被封,大家是如何聊天的...
  2. 【opencv系列02】OpenCV4.X图像读取与显示
  3. vue-cli安装步骤
  4. mysql中explain使用
  5. rbf神经网络python预测代码_RBF神经网络预测
  6. h计算机软件指什么,stdio.h 是什么意思?
  7. structs常见错误
  8. linux下多节点之间免密钥访问
  9. mysql join 性能测试_Mysql Join语法解析与性能分析
  10. 计算机网络cidr是啥,计算机网络(4.11)网络层- 无分类编址CIDR
  11. 代码:骨骼提取,原图匹配,Matlab
  12. MSP430学习心得
  13. python pprint模块详解
  14. 51信用卡两道编程题
  15. 特斯拉“翻脸”,拼多多“翻车”
  16. 如何确认 fastboot unlock 解锁成功,如何确认DM-verity 已关闭
  17. mysql查询第二个字母为a_MSSQL_关于SQL Server查询语句的使用,一.查询第二个字母是t或者a的 - phpStudy...
  18. 艾力奋RFID人脸识别闸机助力小鹏汽车发布会【技术篇】
  19. HFSS微带阵列天线仿真
  20. Linux环境强制删除文件

热门文章

  1. R绘制边缘直方图、箱图(Marginal Histogram / Boxplot)
  2. 特征重要性、特征集成+FeatureUnion、特征选择变换器+ColumnTransformer、标签特征变换+TransformedTargetRegressor、特征质量、自动学习数据中的特征
  3. Affinity Propagation+聚类
  4. Pbsim模拟器的使用
  5. 已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在tab表中,要查的学生学号放在变量no中,查表结果放在变量english中。
  6. 大数据,正在到来的数据革命——涂子沛
  7. html 链接 pdf,简单的HTML DOM只解析名称和含有PDF链接链接
  8. pandas 增加列
  9. html javascript 字符串和数组互转 字符串拼接 数组拼接
  10. 【文本分类】基于改进TF-IDF特征的中文文本分类系统