1

我有一个用户从三星 Galaxy S6 Edge 升级到三星 Galaxy S7 Edge。

我的应用程序能够拖放扑克牌图像。

用户表示此功能在 S7 Edge 上不可用,但在 S6 Edge 上可以。

拖动工作,这表明 onTouch() 和 onDrag() 正在工作,但是当一个对象被放下时,它会返回到它的原始位置而不是所需的位置。

protected void measureDisplay() {
    // get info about screen size to determine style of images to use
    display = getWindowManager().getDefaultDisplay();
    size = new Point();
    display.getSize(size);

    displayMetrics = new DisplayMetrics();
    // get the density of the display
    display.getMetrics(displayMetrics);

    width = size.x;
    height = size.y;
}

private void measureBoard(View v) {
    // get the current view width and height
    float viewWidth = v.getWidth();
    float viewHeight = v.getHeight();

    // extract the image offsets inside the view
    Matrix matrix = ((ImageView) v).getImageMatrix();
    float[] values = new float[9];
    matrix.getValues(values);
    boardLeft = values[2]; // the X offset
    boardRight = viewWidth - boardLeft;
    boardTop = values[5]; // the Y offset
    boardBottom = viewHeight - boardTop;
    cardOffsetW = (boardRight - boardLeft) / 10;
    cardOffsetH = (boardBottom - boardTop) / 10;
}
4

2 回答 2

1

至少可以通过查明用户是否安装了三星的 Game Tuner 来解决幕后显示缩放的一些问题。它会更改任何“游戏”应用程序的分辨率,并且可能会在未打开的情况下进行。

要解决此问题,请让用户在 Game Tuner 中为您的游戏指定分辨率(他们可以在每个应用程序的基础上执行此操作)。在此处查看更多信息:DragEventListener 不适用于三星 S7 (6.0)

我正在为我的游戏进行更新,如果他们安装了 Game Tuner,它会弹出一条消息。

于 2016-07-22T00:21:04.490 回答
0

此应用程序: https ://play.google.com/store/apps/details?id=com.evozi.displayscaling 将解决三星设备上的问题。在我们的游戏中,我们遇到了类似的问题,解决方案是更改此设置。我希望三星将在下一次操作系统更新中提供修复,因此我们确实需要通知用户此错误并强制他们更改设置。

于 2016-10-20T23:56:53.020 回答