Android中getLocationOnScreen和getLocationInWindow
来源:互联网 发布:淘宝哪家洗照片质量好 编辑:程序博客网 时间:2024/04/28 03:43
int[] location = new int[2] ;其中
view.getLocationInWindow(location);//获取在整个屏幕内的绝对坐标,注意这个值是要从屏幕顶端算起,也就是包括了通知栏的高度。
view.getLocationOnScreen(location);
所以在需要确定组件在父窗体中的坐标时,使用getLocationInWindow,需要获得组件在整个屏幕的坐标时,使用getLocationOnScreen。
这里要注意虽然getLocationOnScreen是获取组件在屏幕中的坐标,但如果我们想拿到这个坐标,并且在这个坐标附近再添加一个组件时,直接使用拿到的坐标来建立新的组件是达不到效果的。
在代码中,我想根据itemVIew的坐标来绘制一个新的ImageView控件,但如果整个界面没有父容器时,拿到的坐标是可以直接使用的,而当前界面上有父容器,或者有与其平行的界面时,坐标是有偏移的,所以我加上了有些判断处理,根据不同的布局,适当的调整下坐标的偏移量
View itemView = userManagerView.getListView().getChildAt(j);// 获取列表子项
int[] location = new int[2];
itemView.getLocationOnScreen(location);
ImageView image = new ImageView(getContext());
image.setBackgroundResource(R.drawable.operator);
if (GlobalData.loginState()) {
params = new AbsoluteLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, location[0]-15, location[1] - 95);
} else {
params = new AbsoluteLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, location[0]-15, location[1] - 25);
}
image.setLayoutParams(params);
if (GlobalData.loginState()) {
params = new AbsoluteLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, location[0]-15, location[1] - 95);
} else {
params = new AbsoluteLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, location[0]-15, location[1] - 25);
}
0 0
- Android中getLocationOnScreen和getLocationInWindow
- Android中getLocationOnScreen和getLocationInWindow
- android中getLocationInWindow 和 getLocationOnScreen的区别
- android中getLocationInWindow 和 getLocationOnScreen的区别
- android中getLocationInWindow 和 getLocationOnScreen的区别
- android中getLocationInWindow 和 getLocationOnScreen的区别
- android中getLocationInWindow和getLocationOnScreen的区别
- android中getLocationInWindow 和 getLocationOnScreen的区别
- getLocationInWindow 和 getLocationOnScreen 区别
- getLocationInWindow 和 getLocationOnScreen 区别
- getLocationInWindow和getLocationOnScreen
- 我的Android进阶之旅------>android中getLocationInWindow 和 getLocationOnScreen的区别
- getLocationInWindow getLocationOnScreen 获取Android坐标
- getLocationInWindow和getLocationOnScreen的区别
- getLocationInWindow和getLocationOnScreen的区别
- getLocationInWindow和getLocationOnScreen的区别
- getLocationInWindow和getLocationOnScreen的区别
- Android坐标getLeft,getRight,getTop,getBottom,getLocationInWindow和getLocationOnScreen
- MySQL企业级高可用性
- Matlab与Java混合编程
- 属性修饰
- Storyboard的使用
- 基于ONOS的SDN-IP架构概述篇
- Android中getLocationOnScreen和getLocationInWindow
- pmwiki 表格
- 第六章思维导图
- Could not create the view: An unexpected exception was thrown,MyEclipse非正常关闭出现错误
- Kettle - 生成xml文件
- File类简单用法!
- 项目的前后期
- 敏捷开发中的可用性测试
- 线程实现的三种方式