我有一个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?我错过了什么?
答案 0 :(得分:0)
尝试在其他设备上运行该应用。 它很可能是模拟器的问题。 您还可以在模拟器上更改图形处理的设置。 改变它以使用你的gpu,而不是模拟Pixel的。