だから私は小さな問題があります、私はサーバーに画面幅を送信する必要がある関数を書いています。私はそれがすべて動作するようにし、私は使用します:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
幅を取得します。ただし、.getWidht()関数は非推奨であり、使用する必要があると表示されます。
Point size = new Point();
display.getSize(size);
しかし、その機能はAPIレベル13以上でのみ利用でき、私の最小SDKは8です。 getWidthを使用し続けても安全ですか?なぜ新しい機能を追加し、下位互換性を持たないのですか?
このアプローチが役立つかもしれません:
DisplayMetrics displaymetrics = new DisplayMetrics();
mContext.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int screenWidth = displaymetrics.widthPixels;
int screenHeight = displaymetrics.heightPixels;
実行時にAPIレベルを確認し、使用するものを選択できます(例:
final int version = Android.os.Build.VERSION.SDK_INT;
final int width;
if (version >= 13)
{
Point size = new Point();
display.getSize(size);
width = size.x;
}
else
{
Display display = getWindowManager().getDefaultDisplay();
width = display.getWidth();
}
正確になりたい場合は、このアプローチを使用してください>
int sdk = Android.os.Build.VERSION.SDK_INT;
if (sdk < Android.os.Build.VERSION.RELEASE) {
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
} else {
Point size = new Point();
display.getSize(size);
}