Android中获取控件的位置

Android获取控件坐标为0的原因及取得控件位置和两控件距离的方法 在onCreate的时候去取,肯定是0,因为那个时候UI还没有渲染完毕。 只能在你后续的注册的事件中调用方法。 getLocationOnScreen ,计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标  getLocationInWindow ,计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗 阅读详情
getLocationOnScree:计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标


getLocationInWindow
:计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗口内的绝对坐标 (不是很理解= =、)

getLeft
, getTop, getBottom,getRight, 这一组是获取相对在它父亲里的坐标

注意:如果在Activity的OnCreate()事件输出那些参数,是全为0,要等UI控件都加载完了才能获取到这些。


代码实现:

布局文件:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <Button  
  8.         android:id="@+id/button"  
  9.         android:layout_width="fill_parent"  
  10.         android:layout_height="wrap_content"  
  11.         android:text="button"/>  
  12.     <ImageView  
  13.         android:id="@+id/l"  
  14.         android:layout_width="wrap_content"  
  15.         android:layout_height="wrap_content"  
  16.         android:layout_gravity="center"  
  17.         android:src="@drawable/a" />  
  18. </LinearLayout>  
Java代码部分:

  1. package xiaosi.location;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.view.View.OnClickListener;  
  7. import android.widget.Button;  
  8. import android.widget.ImageView;  
  9.   
  10. public class LocationActivity extends Activity {  
  11.     /** Called when the activity is first created. */  
  12.     private ImageView t = null;  
  13.     private Button button = null;  
  14.     @Override  
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.         setContentView(R.layout.main);  
  18.           
  19.         t = (ImageView)findViewById(R.id.l);  
  20.         button = (Button)findViewById(R.id.button);  
  21.         button.setOnClickListener(new buttonListener());  
  22.     }     
  23.     public class buttonListener implements OnClickListener{  
  24.   
  25.         public void onClick(View v)  
  26.         {  
  27.             int[] location = new int[2];  
  28.             t.getLocationOnScreen(location);  
  29.             int x = location[0];  
  30.             int y = location[1];  
  31.             System.out.println("x:"+x+"y:"+y);  
  32.             System.out.println("图片各个角Left:"+t.getLeft()+"Right:"+t.getRight()+"Top:"+t.getTop()+"Bottom:"+t.getBottom());  
  33.         }  
  34.     }  
  35. } 
输出结果:

 



获取控件在手机屏幕上的位置 - 编程指南 在移动应用程序开发中,有时我们需要获取控件在手机屏幕上的位置信息。本文将介绍如何在编程中获取控件在手机屏幕上的位置,并提供相应的源代码示例。方法,你可以轻松地获取控件的位置信息,并在应用程序中进行相应的处理和调整。方法来获取控件在屏幕上的坐标位置。该方法返回一个包含控件左上角在屏幕上的x和y坐标的整型数组。该方法会将目标控件在屏幕上的x和y坐标存储到数组中。,来获取控件在屏幕上的x和y坐标。以上就是获取控件在手机屏幕上位置的编程指南。方法获取到目标控件的引用,这里假设目标控件的ID为。 阅读详情

相关推荐

dify1.3.1应用服务与数据服务分离,附件及插件包迁移至minio,实现离线部署,保证插件正常运行

dify1.3.1应用服务与数据服务分离,附件及插件包迁移至minio,实现离线部署,保证插件正常运行

Time_1023的博客 1872

android获取控件的位置

1.获取控件在屏幕总的位置 int location = new int[2]; view.getLocationWindow(location); //或 view.getLocationOnScreen(location) Log.d("", location[0]+" "+location[1]); 2.获取相对父元素的位置 view.getLeft(); view.getRight()...

huangmingcsdn的博客 4625

深度学习——VGG16模型详解

1、网络结构 VGG16模型很好的适用于分类和定位任务,其名称来自牛津大学几何组(Visual Geometry Group)的缩写。 根据卷积核的大小核卷积层数,VGG共有6种配置,分别为A、A-LRN、B、C、D、E,其中D和E两种是最为常用的VGG16和VGG19。 介绍结构图: conv3-64 :是指第三层卷积后维度变成64,同样地,conv3-128指的是第三层卷积后维度变成128; input(224x224 RGB image) :指的是输入图片大小为224244的彩色图像,通道为

橙子的博客 12万+

android获取控件坐标

在Android中,获取控件坐标的常见方法有几种,这里主要介绍通过 getLocationOnScreen 方法来获取控件相对于屏幕的坐标。 方法说明getLocationOnScreen(int[] location) 方法可以用来获取一个视图(View)在其屏幕坐标系中的左上角位置。 参数 location 是一个长...

weixin_42092564的博客 1095

JY02无刷电机驱动芯片的硬件设计与调试实战

本文详细介绍了JY02无刷电机驱动芯片的硬件设计与调试实战。重点解析了其外置MOSFET的设计优势,提供了从电源滤波、功率MOSFET选型到电流采样保护的核心电路设计指南。文章还分享了安全上电、动态测试及常见问题排查的完整调试流程,并探讨了开关优化、闭环测速等性能提升技巧,帮助开发者构建稳定高效的无刷电机驱动系统。

weixin_29193359的博客 364

Zemax 中的 LED 阵列模型

这些光线是所有光线的子集,用于布局可视化,而不是详细分析。X 和 Y 散度(αx 和 αy)以度为单位,以不同的方式设置为 6 度和 12 度。每个 LED 都以朗伯模式(广角分布)发光,尽管有些 LED 具有内置光学元件,用于更窄或更聚焦的光束。,具体取决于这些类别中使用的半导体材料。LED 阵列由多个发光二极管 (LED) 组成,这些二极管以特定模式或配置排列,以实现均匀照明、更高强度或特定照明特性。如果数据的存在更改为“辐射强度”,则它以弧度为单位显示每个立体角的功率,作为探测器上入射角的函数。

jkh920184196的博客 1595

安卓获取控件在屏幕中位置以及动态添加Dialog到指定位置

安卓获取控件在屏幕中位置以及动态添加Dialog到指定位置

qq_40346244的博客 1360

LangChain4j 开发

市场上主流的 Java 调用大模型的工具库有两种:LangChain4j 是一个 面向 Java 的开源框架,用于构建 基于大语言模型(LLMs) 的应用程序。它是 LangChain(Python 生态中非常流行的 LLM 应用框架)的 Java 实现,旨在让 Java 开发者能够轻松地集成和使用各种 LLM 服务,快速开发 智能聊天机器人、智能搜索、文档问答、Agent系统 等 AI 驱动的应用。官网文档:https://docs.langchain4j.dev/。引入依赖(JDK17 及以上): 构建

m0_62943934的博客 2794

Android app中如何通过控件id获取控件(控件图标、位置、布局信息等)?

在浏览Android app代码时,有时为理解相关代码的含义,常常需要通过控件 id 查找控件。本文主要说明如何通过控件 id 粗略定位控件(获取控件的图标、位置、布局等信息)。 **步骤如下**: 1. 打开monitor.exe 双击打开monitor.exe。 注意:①.Android studio安装成功后,在c盘路径下会存在monitor.exe,参考路径(C:\Users\账户名\.android-sdk\tools\lib\monitor-x86_64) ②.

qq_37695230的博客 4405

DeepSeek-OCR 本地部署使用教程(附完整环境配置与推理示例)

DeepSeek-OCR是由DeepSeek AI推出的开源OCR模型,支持高精度文档识别与结构化输出(如Markdown转换)。本文提供了详细的本地部署指南,包括系统要求(推荐Linux+A100 GPU)、环境配置(Python 3.12.9+PyTorch 2.6.0+CUDA 11.8)、模型下载及两种推理方式:高性能的vLLM(适合批量处理)和灵活的Transformers(适合调试)。支持多种分辨率模式和提示词模板,适用于合同识别、PDF转换等场景。常见问题包括显存优化和性能调优建议。

qq_58607032的博客 6723

【ISP图像处理】Demosaic去马赛克技术演进与边缘优化策略

本文深入解析了ISP图像处理中的Demosaic(去马赛克)技术。从Bayer阵列原理出发,梳理了从双线性插值、Hamilton-Adams边缘导向算法到利用通道相关性与自相似性的技术演进历程,并重点探讨了针对边缘与纹理伪影的优化策略,为工程实践中的算法选型与硬件协同设计提供了专业指导。

weixin_29091445的博客 388

android 获取控件在屏幕中位置

项目需要在UI中获取其中一个控件的位置,在oncreate中直接获取发现参数全为零,获取失败。网上查询知道原来需要等到整个换面加载完才可以获取到位置信息。特来记录下以备以后查询 获取空间屏幕位置:                            Rect rect = new Rect();                 int location[] = new int[2]

gengnx的博客 4591

PCB高速信号换层孔新技术:VECS(Vertical Conductive Structure Technology)解析

摘要:垂直导电结构(VeCS)是一种新型PCB互连技术,由平板信号走线和椭圆形接地层构成半同轴结构,相比传统过孔具有显著优势。通过全波仿真和实测验证,VeCS展现出更好的阻抗连续性、更低的插入损耗和回波损耗,以及优异的串扰抑制能力。其椭圆形接地结构能有效隔离电磁干扰,在相同布线密度下远端串扰比传统过孔降低约50%。VeCS制备工艺与传统PCB工艺兼容,无需新增设备,且能实现更高密度互连。测试结果显示,2.5英寸带状线通道中VeCS结构的信号完整性表现明显优于传统过孔,为高速数字系统提供了更可靠的垂直互连解决

小孟同学的博客 200

android获取屏幕控件位置问题

int[] location = new int[2] ; view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标 view.getLocationOnScreen(location);//获取在整个屏幕内的绝对坐标 location [0]--->x坐标,location [1]--->y坐标 也可以利用控件的getX(),getY()

猫的阁楼 1196

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

android布局位置xy,Android_获取控件大小和设置调整控件的位置XY示例,网上很多人对设置控件的位置 - phpStudy...

获取控件大小和设置调整控件的位置XY示例网上很多人对设置控件的位置都使用view.setPadding(left, top, right, bottom) ,其实这玩意很差劲,它是设置自己本身位置的偏移,我们很少需要这种效果,我需要的设置控件相对屏幕左上角的X 、Y位置。众里寻他千百度,蓦然回首,那人却在灯火阑珊处!import android.view.View;import android.v...

weixin_31527905的博客 360

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【Android】获取控件的宽高和位置

获取控件的绝对位置(包括状态栏)可以用这种方法,调用方法后,location[0]和location[1]就分别被赋值了。 int[] location = new int[2]; view.getLocationOnScreen(location); 获取控件的相对与当前窗口的位置可以用getLocationInWindow,如果控件在dialog中,则当前...

乔培宸的博客 767

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Android 通过Java代码动态获取控件位置的终极解决之道

Android 通过Java代码动态获取控件位置的终极解决之道首先,恭喜一下自己通过了博客专家认证,这是优快云给我的肯定和鼓励,显得更加权威了,可喜可贺! 今天博主来跟大家谈一谈如何通过Java代码获取控件所在坐标。 说到这个,一些朋友会很肯定地说,用view.getLocationOnScreen(int[])就行了。 方法是没错,但是经常会返回0。 经过网上一番搜索,有的是说写在OnR

编程二三事 2915

5 控件固定大小_Android 开发:获取控件的高度、宽度、位置信息方法汇总

在进行 Android 项目开发时,经常需要获得某一控件的宽高以及位置信息,从而方便我们完成“外层 scrollview 的滚动”、“控件的动态摆放”等等处理。然而每次想要获得控件的这些信息的时候,总是遇到有的时候能获取到,而有的时候获取到的宽高信息全是0 的情况,搞得很不舒服。所以 本篇文章就将「获得控件宽高、以及位置信息」做了一个小汇总,说不上全面吧,但是肯定是够用的了。那么废话就...

weixin_33040687的博客 334

android获取自定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度

android获取自定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度 1.获取自定义控件height 在本Activity中获取当前Activity中控件的height: Button button = (Button)findViewById(R.id.button); int buttonHeight = button.getHeight(); 在Activity

努力ing的菜鸟 2817

Android 获取控件的坐标位置

知识点很少,只是为了做个笔记 获取一下控件,比如 button EditText……的坐标位置 View v1 = (View) button1; View v2 = (View) editText1; int[] l1 = {0, 0}; int[] lv2 = {0, 0}; v1.getLocationInWindow(l); v2.getLocationInWindow

u010271952的博客 5560

Android获取控件在手机屏幕上的位置

我们重点在获取view的y坐标,你懂的... 依次介绍以下四个方法: 1.getLocationInWindow int[] position = new int[2];   textview.getLocationInWindow(position);   System.out.println("getLocationInWindow:" + posit

陈英有 6125

Android 获取某控件在屏幕中的位置/坐标

getLocationOnScreen ,计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标  getLocationInWindow ,计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗口内的绝对坐标 (不是很理解= =、) getLeft , getTop, getBottom, getRight

v587ge的专栏 5607

android 获取控件大小和设置调整控件的位置XY

网上很多人对设置控件的位置都使用      view.setPadding(left, top, right, bottom) ,其实这玩意很差劲,它是设置自己本身位置的偏移,我们很少需要这种效果,我需要的设置控件相对屏幕左上角的X 、Y位置。众里寻他千百度,蓦然回首,那人却在灯火阑珊处! import android.view.View; import android.view.V

键盘的起始页 1万+

android设置控件的位置以及获取控件的坐标

项目中遇到一个问题,就是打印机打字的效果,然后找到了一位大神的轮子。Android实用View系列——TextView实现打印机效果 这样确实实现了打印机打字的效果,但是又出现一个问题。这个打印机的自定义View事先不能确定整体的高度,这样,打印机每打印一行,高度就会变大一行,那么在Linear Layout布局中就会影响下边控件的位置。 那么我们就需要在代码中根据字符串的长度设定好FadeIn

guangyu_sun的博客 8594

android 获取xml控件的高度,Android获取自定义控件位置坐标 屏幕尺寸 标题栏 状态栏高度...

android获取自定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度1.获取自定义控件height在本Activity中获取当前Activity中控件的height:Button button = (Button)findViewById(R.id.button);int buttonHeight = button.getHeight();在Activity中获取其他xml文件中控件的height:...

weixin_29303701的博客 942
上一篇: Intent 传递的类型总结
下一篇: Android中获取当前的Activity
zwyAndroid
博客等级 码龄11年 5粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值