绘图时Android模拟器屏幕损坏

时间:2017-12-12 19:39:41

标签: android android-studio android-drawable

我有一个Android应用程序似乎在我的三星Galaxy S7 Edge上运行正常,但是当我为PIXEL 2启动模拟器时,当我重绘背景时它会被破坏。如果有人有任何想法,这是一个截图和代码。我尝试在视图上调用invalidate(),但这也没有帮助。这是screenshot

     public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
            // TODO Auto-generated method stub

            redValue=progress;
            String colorvalue = "Red: " + redValue + " Green: " + greenValue + " Blue: " + blueValue + " Brightness: " + brightValue  + " Saturation: " + satValue;
            progressTextView.setText(colorvalue);
            int[] color = returnRGB(redValue,greenValue,blueValue);
            progressTextView.setTextColor(Color.rgb(color[0],color[1],color[2]));
            hueValue = getHue(color[0],color[1],color[2]);
            String hexColor = String.format( "%02x%02x%02x%02x",255, color[0], color[1], color[2]).toUpperCase();
            int decimalcolor = (int) Long.parseLong(hexColor, 16);
            int [] gradientColor = new int[4];
            gradientColor[0]= startColor; //these values will be changed by the slider
            gradientColor[1]=decimalColor;
            gradientColor[2]=decimalColor;
            gradientColor[3]=endColor;
            background = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, color);
            background.setGradientType(GradientDrawable.RADIAL_GRADIENT);
            background.setGradientRadius(returnGradientRadius(brightValue));
            background.setGradientCenter(0,0);
            background.setShape(GradientDrawable.RECTANGLE);
            background.setColors(gradientColor);
            backgroundView.setBackground(background);
            submitButton.setBackground(background);
        }
    });

当我调整下图中的搜索栏时,您可以看到损坏。这在我的实时设备上不会发生,但如果它不能准确模拟真实设备,那么在模拟器上测试它的意义何在?或者这可能不适用于现场Pixel 2?我错过了什么?

1 个答案:

答案 0 :(得分:0)

尝试在其他设备上运行该应用。 它很可能是模拟器的问题。 您还可以在模拟器上更改图形处理的设置。 改变它以使用你的gpu,而不是模拟Pixel的。