zoukankan      html  css  js  c++  java
  • android学习8——获取view在屏幕上的绝对坐标

    获取view在屏幕上的绝对坐标在调试时候非常有用.
    看如下代码

    public class AbsolutePosActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(new DrawLineView(this));
        }
    }
    public class DrawLineView extends View {
        @Override
        protected void onDraw(Canvas canvas) {
            Paint paint = new Paint();
            paint.setColor(Color.WHITE);
            canvas.drawLine(0, 0, 1536, 2048, paint);
            super.onDraw(canvas);
            int[] location = new int[2];
            getLocationOnScreen(location);
            Log.i("Logzy", "x=" + location[0] + ",y=" + location[1]);
            Log.i("Logzy", "width=" + getWidth() + ",height=" + getHeight());
        }
        public DrawLineView(Context context) {
            super(context);
        }
    }
    

    界面显示如下所示:

    日志输入为:

    01-06 07:55:00.552  24762-24762/edu.cgxy.absolutepos I/Logzy﹕ x=0,y=146
    01-06 07:55:00.552  24762-24762/edu.cgxy.absolutepos I/Logzy﹕ width=720,height=1134
    

    getLocationOnScreen得到了view左上角的坐标,单位是像素.
    用以下代码去掉标题栏.

    public class AbsolutePosActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(
                    WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
            setContentView(new DrawLineView(this));
        }
    }
    

    界面显示如下所示:

    日志输入为:

    01-06 07:59:42.608  25290-25290/edu.cgxy.absolutepos I/Logzy﹕ x=0,y=0
    01-06 07:59:42.608  25290-25290/edu.cgxy.absolutepos I/Logzy﹕ width=720,height=1280
    

    可以看到没有标题栏.view的左上解绝对坐标就是(0,0)
    源代码地址:https://github.com/zhouyang209117/AndroidTutorial/tree/master/Game/ch4/AbsolutePos

  • 相关阅读:
    mysql5.7 安装及主从搭建
    虚拟机加硬盘做逻辑卷
    mysql 5.7 主从同步问题
    Tomcat 配置全球服务器证书
    新建linux 服务器初始化配置
    python 字典 元组 集合
    python 列表
    35.再谈SpringBoot自定义日志配置--LogBack.xml
    36.SpringBoot应用属性加载和自动配置@EnableAutoConfiguration
    37.再谈Spring Boot Actuator
  • 原文地址:https://www.cnblogs.com/zhouyang209117/p/5104311.html
Copyright © 2011-2022 走看看