码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2014-07-30 17:28:24      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:android   style   color   java   os   strong   文件   io   

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获取自定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度,布布扣,bubuko.com

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

标签:android   style   color   java   os   strong   文件   io   

原文地址:http://blog.csdn.net/u010127250/article/details/38302865

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!