関数 activity.getWindowManager().getDefaultDisplay().getwidth() を使用したいのですが、この関数は非推奨であるという警告が表示されます
私は何をすべきか ?とにかくこの機能を使用する必要がありますか?または同じことをする他の機能がありますか?
関数 activity.getWindowManager().getDefaultDisplay().getwidth() を使用したいのですが、この関数は非推奨であるという警告が表示されます
私は何をすべきか ?とにかくこの機能を使用する必要がありますか?または同じことをする他の機能がありますか?
非推奨とは、使用すべきではないことを意味しますが、互換性の理由からまだ存在しています。
代わりに使用する必要があります:
Point size = new Point();
activity.getWindowManager().getDefaultDisplay().getSize(size);
int width = size.x;
int height = size.y;
Display
API リファレンスから:
int getWidth() This method was deprecated in API level 13. Use getSize(Point) instead.
つまり、 をインスタンス化しPoint
、 に渡し、そこからgetSize()
を取得しますx
。
メソッド名にカーソルを合わせ、を押しF2
て最新のAPIに関する情報を取得します。(Eclipseを使用していると仮定します)
非推奨の関数とは、より優れた新しい代替関数が導入された関数であり、将来的には新しい API でサポートされなくなる可能性があります。ただし、有効期限が切れるまでに時間がかかるため、安心して使用してください。
試す:
WindowManager windowmanager = (WindowManager) this.getContext()
.getSystemService(Context.WINDOW_SERVICE);
と:
Display display = windowmanager.getDefaultDisplay();
Point size = new Point();
try {
display.getRealSize(size);
} catch (NoSuchMethodError err) {
display.getSize(size);
}
int width = size.x;
int height = size.y;
または:
DisplayMetrics displayMetrics = new DisplayMetrics();
windowmanager.getDefaultDisplay().getMetrics(displayMetrics);
int deviceWidth = displayMetrics.widthPixels;
int deviceHeight = displayMetrics.heightPixels;
正しい方法は、SDKのバージョンを確認することです。それに応じて、非推奨の関数を使用することも、Pointを使用して実行することもできます。以下を参照してください。非推奨の.getWidthをディスプレイで使用しても安全ですか。