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。抱歉,我将编辑我的答案。我很高兴我能帮上忙:)