zoukankan      html  css  js  c++  java
  • 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坐标




  • 相关阅读:
    20189317 《网络攻防技术》 第四周作业
    20189317 《网络攻防技术》 第三周作业
    20189317 《网络攻防技术》 第二周作业
    2018-2019-2 20189317 《网络攻防技术》 第一周作业
    20189311《网络攻防》第十周作业
    20189311《网络攻防》第九周作业
    20189311《网络攻防》第八周作业
    20189311《网络攻防》第七周作业
    20189311《网络攻防》第六周作业
    20189311《网络攻防》第五周作业
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6962729.html
Copyright © 2011-2022 走看看