Tworzę niestandardowy program do rysowania (rozciąga się on od Drawable) i próbuję umieścić na nim efekt cienia.Warstwa cienia działa z emulatorem, ale nie na rzeczywistym urządzeniu.
Oto część mojego kodu:
public void draw(Canvas canvas) {
Path path = new Path();
path.moveTo(0, 0);
path.lineTo(0, Y/2);
path.lineTo(X/2, Y);
path.lineTo(X, Y/2);
path.lineTo(X, 0);
path.lineTo(0, 0);
Paint paint = new Paint();
paint.setColor(context.getResources().getColor(R.color.red_dark));
paint.setStyle(Style.FILL_AND_STROKE);
paint.setStrokeWidth(2f);
paint.setShadowLayer(1, 0, 10f, context.getResources().getColor(R.color.black));
canvas.drawPath(path, paint);
}
Nie wiem dlaczego, ale to położyć się cieniem w tym samym kolorze, dwukrotnym sprawdził wszystko i nie widzę, gdzie jest problem. Testuję to na nexusie galaktyki. Ale na emulatorze działa dobrze.
To działa dobrze na kopalni Samsung Note, ale rozszerzam widok, którego nie można przeciągnąć. Czy próbowałeś tego na większej liczbie urządzeń? – Lumis