获得View在布局和屏幕上的位置(getLeft()以及getLocationOnScreen())

在一个布局中有一个控件View v.
可以通过以下方法可得到其在布局中的位置:
v.getLeft();
v.getRight();
v.getBottom();
v.getTop();

 

这样就得到控件本身的上下左右四个方位相对于parent的位置.即自身的上下左右距离parent有几个像素
但是请注意:getLeft()表示自己的左边距离parent的左边的距离
但是请注意:getRight()表示自己的右边距离parent的左边的距离
但是请注意:getTop()表示自己的上边距离parent的上边的距离
但是请注意:getBottom()表示自己的下边距离parent的上边的距离

同理:v.layout(l, t, r, b)方法中的参数也是如此

 
使用如下方法得到,某控件在屏幕上的位置:
int v_location []=new int [2];
v.getLocationOnScreen(v_location);
int step_ball_location_0=v_location[0];
int step_ball_location_1=v_location[1];
即step_ball_location_0和step_ball_location_1即为位置
注意:不可以在OnCreate()方法中执行!!!!此时的step_ball_location_0和step_ball_location_1均为0

时间: 2024-09-25 13:43:48

获得View在布局和屏幕上的位置(getLeft()以及getLocationOnScreen())的相关文章

控件显示-安卓控件如何设置在屏幕上的位置

问题描述 安卓控件如何设置在屏幕上的位置 请问一下安卓控件如何在java代码中设置控件在屏幕上的位置,不使用XML

Win8.1怎么设置任务栏在屏幕上的位置

方法一:通过任务栏属性调整 1.在任务栏空白处右击,之后点击"属性"选项. 2.在进入么win8.1的"任务栏和导航属性"我们现在在打开的"任务栏"然后我们再"任务栏在屏幕上的位置"选择要将任务栏显示的位置(以显示"左侧"为例,当然也可以选择"顶部"."右侧"."底部"),然后单击"确定" 这个与windows其它版本还是有区别

android-Android 如何判断一个View在屏幕上可见

问题描述 Android 如何判断一个View在屏幕上可见 Android 如何判断一个View在屏幕上可见 我的过滤条件是这样的: view.isEnabled() && view.isShown() && view.isClickable() 可是这样即使某个View在下层不可见 .或者不可点击也能通过条件 解决方案 需要隐藏时,设置View的visible,后面根据visible判断 解决方案二: View 是放在 Activity 中显示的,所以按 Activity

如何做好IOS View的布局

这个命题貌似有点大,那就尽量将我理解的分享一下吧,首先说明一点,我是代码党,所以我所讲的都是代码布局.本文会围绕一些我们平常开发中常遇到的布局问题来进行叙述,包括以下几个方面: 如何布局UIViewController的view childViewController的处理 Autolayout来布局 tableView管理 1.如何布局UIViewController的view 首先给出设计原则: 屏幕尺寸变化时能自适应,如不同尺寸设备,屏幕旋转,热点,电话等. 无论是否有navigation

imageview-在屏幕上移动图片的问题

问题描述 在屏幕上移动图片的问题 用户想在屏幕上把图像从一个位置移动到另外一个位置,我设置了代码来移动图像,但是问题是如果我移动一个图像,邻近的图像也跟着一起移动.如何只移动一个图像?Main.java public class MainActivity extends Activity { int windowwidth; int windowheight; ImageView ima1ima2; private android.widget.RelativeLayout.LayoutPara

Android艺术开发探索第四章——View的工作原理(上)

Android艺术开发探索第四章--View的工作原理(上) 这章就比较好玩了,主要介绍一下View的工作原理,还有自定义View的实现方法,在Android中,View是一个很重要的角色,简单来说,View是Android中视觉的呈现,在界面上Android提供了一套完整的GUI库,里面有很多控件,但是有时候往往并不能满足于需求,所以只有自定义View了,我们会简单的说下流程,然后再去实践 除了View的三大流程之外,View常见的回调方法也是必须掌握的,比如构造方法,onAttach,onV

Android艺术开发探索第三章——View的事件体系(上)

Android艺术开发探索第三章----View的事件体系(上) 我们继续来看这本书,因为有点长,所以又分了上下,你在本片中将学习到 View基础知识 什么是View View的位置参数 MotionEvent和TouchSlop VelocityTracker,GestureDetector和Scroller View的滑动 使用scrollTo/scrollBy 使用动画 改变布局参数 各种滑动方式的对比 弹性滑动 使用Scroller 通过动画' 使用延时策略 这章的概念偏自定义View方

位置-求组android怎么通过屏幕上的坐标点换算成图片上的坐标点

问题描述 求组android怎么通过屏幕上的坐标点换算成图片上的坐标点 简单说:界面上有一张图片,想实现点击图片不同位置响应不同事件,所以就想说点击屏幕可以获得点击的坐标,然后通过得到的点的坐标然后换算成该点在图片上的坐标.但是把屏幕上得到的点的坐标换算成该点在图片上的坐标值要怎么换算呢?网上搜过说得到图片坐标,分辨率,点击点的坐标就可以换算成该点在图片上的坐标,但是没说怎么换算的问题...求大神解答 解决方案 方法网上其实都说到了,只是具体的要根据你图片显示的布局才能确定. 你要知道: 1 图

android应用-各位大神,我想在屏幕上定义一片区域,可以在这片区域进行各种操作,能不能实现?

问题描述 各位大神,我想在屏幕上定义一片区域,可以在这片区域进行各种操作,能不能实现? 5C 如果能实现,能否告诉我原理,最好有代码啦.O(∩_∩)O谢谢! 解决方案 屏幕上的区域,如果是在你的应用内,你想如何操作都行!但是,如果是系统界面显示,或者其它应用显示时,你想直接操作是不太可能的.至少,应用级是无法做到的. 当然,如果你有系统,或者驱动一级的权限,可能考虑直接操作 FrameBuffer 来实现. 解决方案二: 就只是应用内的,在屏幕中划出一片区域来放一些view或者组件,需要用到什么