webViewの幅を取得する。

webViewの幅を取得する際に

画面サイズを取得する

でやってるような形で

WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
Display disp = wm.getDefaultDisplay();
__width = disp.getWidth();

こんな感じ。で取得ができたので、JSで送ってみたら、サイズがおかしい。。

とまぁ、原因はカンタンで密度の問題で、こっちのサイズは、dpとかで、webView内部(webは)ピクセル単位だから、ちょっと違う値が入るようです。

画面の解像度やdensity(ピクセル密度)の取得方法

にあるように端末の密度が取得できるので、下記のようにしたら、ピクセルの値を取得する事ができた。

DisplayMetrics metrics = new DisplayMetrics();  
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
Display disp = wm.getDefaultDisplay();
__width = (int) ((float)disp.getWidth()/(float)metrics.scaledDensity);
__height = (int) ((float)disp.getHeight()/(float)metrics.scaledDensity);

豆情報ですが、以上です。

前後の記事

前の記事:

次の記事:

関連の記事

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑