Android 洛伦西斯的快速行动
我正在尝试删除不推荐使用的代码Android 洛伦西斯的快速行动,android,quickaction,Android,Quickaction,我正在尝试删除不推荐使用的代码getWidth()在投入生产之前从该代码中删除。我已经尝试了stack中提到的其他类的一些方法,但似乎无法使其适用于此。有人知道我能在这里得到这份工作吗 public class QuickAction extends PopupWindows implements OnDismissListener { ... public void show (View anchor) { int screenWidth = mWindowManager.ge
getWidth()代码>在投入生产之前从该代码中删除。我已经尝试了stack中提到的其他类的一些方法,但似乎无法使其适用于此。有人知道我能在这里得到这份工作吗
public class QuickAction extends PopupWindows implements OnDismissListener {
...
public void show (View anchor) {
int screenWidth = mWindowManager.getDefaultDisplay().getWidth();
...
}
我不确定到目前为止您尝试了什么,但您可以使用以下方法:
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)
如果您不喜欢“魔法”数字,您可以使用android.os.Build.VERSION\u CODES.HONEYCOMB\u MR2
方法getWindowManager()对于QuickAction类型是未定义的。您的代码中已经有变量mWindowManager。抱歉,我将编辑我的答案。我很高兴我能帮上忙:)