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

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

1.获取自定义控件height

在本Activity中获取当前Activity中控件的height:

Button button = (Button)findViewById(R.id.button);
int buttonHeight = button.getHeight();

在Activity中获取其他xml文件中控件的height:

LayoutInflater factorys = LayoutInflater.from(当前类.this);
final View textEntryView = factorys.inflate(R.layout.你要获取的另一个XML, null);
TextView y_type = (TextView) textEntryView.findViewById(R.id.控件ID);
int textHeight = y_type.getHeight();

或者

LayoutInflater inflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);
final View layout = inflater.inflate(R.layout.my_kebiao_setting,null);
TextView y_type = (TextView)findViewById(R.id.控件ID);
int textHeight = y_type.getHeight();

2.获取屏幕尺寸:

 DisplayMetrics metrics = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(metrics);
 int screenWidth=metrics.widthPixels;            //屏幕宽度
 int .screenHeight=metrics.heightPixels;        //屏幕高度

这段代码可以插入到Activity的onCreate()函数中。

 3.获取标题栏、状态栏高度:

Rect rect = new Rect();
    Window win = this.getWindow();
    win.getDecorView().getWindowVisibleDisplayFrame(rect);
    int statusBarHeight = rect.top;
    int contentViewTop = win.findViewById(Window.ID_ANDROID_CONTENT).getTop();
    int titleBarHeight = contentViewTop - Variable.statusBarHeight;
//statusBarHeight为状态栏高度,titleBarHeight为标题栏高度

getLocationOnScreen 计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是包括了通知栏的高度)//获取在当前屏幕内的绝对坐标

getLocationInWindow 计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗口内的绝对坐标

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

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

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

时间: 2024-11-05 13:40:49

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

Android设备网络、屏幕尺寸、SD卡、本地IP、存储空间等信息获取工具类

Android设备网络.屏幕尺寸.SD卡.本地IP.存储空间.服务.进程.应用包名等信息获取的整合工具类. 1 package com.qiyu.ddb.util; 2 3 import android.annotation.SuppressLint; 4 import android.annotation.TargetApi; 5 import android.app.Activity; 6 import android.app.ActivityManager; 7 import androi

Android 在不同的屏幕尺寸上有好的用户体验

让你的应用在不同的屏幕尺寸上有好的用户体验,你应该为每个你想支持的屏幕尺寸创建一个唯一的XML布局文件.每个布局文件应该被存放到适当的资源目录下,目录名以 -<screen_size> 为后缀.例如,一个存放大屏幕的布局目录的名称是res/layout-large/. 提示: Android系统会自动伸缩布局来正确的适配屏幕.因此,你不需要担心你为不同布局设计的UI元素的实际尺寸,你要注意的是影响用户体验的布局结构(例如重要布局相对与它旁边布局的尺寸和位置). 例如,这个项目包括一个默认的布局

Android获取当前设备屏幕信息(分辨率,密度以及物理尺寸)

要想知道屏幕的基本信息,就要先获取一个基本的类(DisplayMetics),这个对象存放着当前的窗口的一些通用信息,如显示大小,分辨率和字体等等. 如何获取DisplayMetics对象: DisplayMetrics display= new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(display);//将当前窗口的一些信息放在DisplayMetrics类中, 然后就可以通过dispalyMet

iphone获取屏幕尺寸以及状态栏

获取状态栏的尺寸 CGRect rect: rect=[[UIApplication sharedApplication]statusBarFrame]; 获取屏幕尺寸 CGRect rect: rect=[[UIScreen mainScreen]bounds]; CGSize size=rect.size; CGFloat width=size.width; CGFloat height=size.height; NSLog(@"%f",width); NSLog(@"

Javascript获取页面、屏幕尺寸大小参数

Javascript获取获取屏幕.浏览器窗口 ,浏览器,网页高度.宽度的大小网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.

JavaScript获取页面、屏幕尺寸大小

转载:http://www.cnblogs.com/rushoooooo/archive/2011/05/01/2033670.html Javascript获取获取屏幕.浏览器窗口 ,浏览器,网页高度.宽度的大小网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHei

android 获取view在屏幕中的位置

使用view中的getLocationOnScreen方法,即可: [java] view plaincopy final int[] locations = new int[2]; Button btn = (Button) findViewById(R.id.btn);<span style="font-family: Arial, Helvetica, sans-serif;">     </span> [java] view plaincopy btn.

flutter 屏幕宽高 状态栏高度

MediaQuery.of(context) 包含了一些屏幕的属性: size : 一个包含宽度和高度的对象,单位是dp print(MediaQuery.of(context).size); //输出: Size(411.4, 683.4) devicePixelRatio : 返回设备的像素密度 print(MediaQuery.of(context).devicePixelRatio); //2.625 textScaleFactor : 每个逻辑像素的字体像素数. 默认为1.0 获取上边

获取浏览器以及屏幕的宽度,高度

IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 FireFox中: document.body.clientWidth ==> BODY对象宽度 document.b