web-dev-qa-db-ja.com

電話スクリーンの中心座標を取得します

現在表示されている画面の中心座標を取得する方法の例を教えてもらえますか?オブジェクトが常にアクティブビューの中心座標を基準にしているようにします。

9
1QuickQuestion

DisplayMetricsを試して、ソリューションを実現できます

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

これが私が問題を解決した方法です。背景として、ユーザーがマップを目的の場所(マップの中心を示す十字線)に移動すると、ボタンをタップしてマーカーがマップの中心に表示されるボタンがあります。

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");
                    }
                }
            }
    );
1
timv

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

オブジェクトの場合、フロートが中心です

1
Waqar Khan