QuickAction от Lorensius
Я пытаюсь удалить устаревший код getWidth();
из этого кода, прежде чем идти в производство. Я попробовал несколько способов, упомянутых здесь, в стеке для других классов, но, похоже, не могу заставить его работать для этого. Кто-нибудь знает, я могу получить здесь?
public class QuickAction extends PopupWindows implements OnDismissListener {
...
public void show (View anchor) {
int screenWidth = mWindowManager.getDefaultDisplay().getWidth();
...
}
1 ответ
Решение
Я не уверен, что вы пробовали до сих пор, но вы могли бы использовать это:
final int version = android.os.Build.VERSION.SDK_INT;
Display display = mWindowManager.getDefaultDisplay();
int screenWidth;
if (version >= 13) {
Point size = new Point();
display.getSize(size);
screenWidth = size.x;
}
else {
screenWidth = display.getWidth();
}
Как javaDoc говорит метод display.getWidth()
устарел в уровне API 13, поэтому вы должны использовать display.getSize(Point)
вместо.
Если вам не нравятся "магические" числа, вместо 13 вы можете использовать android.os.Build.VERSION_CODES.HONEYCOMB_MR2
,