获取手机屏幕的中心坐标

时间:2016-06-08 16:45:17

标签: java android coordinates

有人能举例说明如何获取当前显示屏幕的中心坐标吗?我希望我的对象始终相对于活动视图的中心坐标。

3 个答案:

答案 0 :(得分:6)

您可以尝试使用DisplayMetrics来实现解决方案

int mWidth= this.getResources().getDisplayMetrics().widthPixels;
int mHeight= this.getResources().getDisplayMetrics().heightPixels;

答案 1 :(得分:1)

以下是我解决问题的方法。作为背景,我有一个按钮,一旦用户将地图移动到所需位置(显示地图中心的十字线),他们可以点击按钮,地图中心会出现一个标记。

findViewById(R.id.addMarker).setOnClickListener(
            new View.OnClickListener(){
                @Override
                public  void onClick(View view) {
                    if(myMap != null){
                        double myLat = myMap.getCameraPosition().target.latitude;
                        double myLng = myMap.getCameraPosition().target.longitude;
                        LatLng markerPoint = new LatLng(myLat, myLng);
                        myMap.addMarker(new MarkerOptions().position(markerPoint)).setTitle("new marker");
                    }
                }
            }
    );

答案 2 :(得分:1)

int cx =screenHeight = displaymetrics.heightPixels; int cy = screenWidth = displaymetrics.widthPixels; float finalRadius = (float) Math.sqrt(cx * cx + cy * cy);

浮动是对象的中心