Я пишу представление, которое должно показывать рисование, которое, кажется, никогда не заканчивается.Размер дисплея должен быть в два или три раза меньше и медленно перемещаться по экрану.
Поэтому я изучил некоторые примеры кода Google и обнаружил важные строки
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
canvasWidth = width;
canvasHeight = height;
float sf = backgroundImage.getWidth() / canvasWidth;
backgroundImage = Bitmap.createScaledBitmap(backgroundImage,
(int) (canvasWidth * sf), canvasHeight, true);
}
Чтобы изменить масштаб изображения и затем
// decrement the far background
backgroundXPos = backgroundXPos - DELTAMOVE;
// calculate the wrap factor for matching image draw
int newFarX = backgroundImage.getWidth() - (-backgroundXPos);
// if we have scrolled all the way, reset to start
if (newFarX <= 0) {
backgroundXPos = 0;
// only need one draw
canvas.drawBitmap(backgroundImage, backgroundXPos, 0, null);
} else {
// need to draw original and wrap
canvas.drawBitmap(backgroundImage, backgroundXPos, 0, null);
canvas.drawBitmap(backgroundImage, newFarX, 0, null);
}
Чтобы нарисовать движущееся изображение.Изображения уже движутся, это нормально.
Но, и это вопрос моего вопроса, изображение выглядит очень некрасиво.Его оригинал 960 * 190 пикселей на 240ppi.Он должен быть нарисован внутри вида с высотой 80 dip и шириной "fill_parent".
Он должен выглядеть одинаково (и хорошо) на всех устройствах.Я много пробовал, но не знаю, как сделать изображение красивым.
Спасибо за вашу помощь.С уважением, До