Почему мои изображения растягиваются, когда они нарисованы на SurfaceView?
Я вручную создаю SurfaceView в коде и устанавливаю его в качестве представления контента на моей активности следующим образом:
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int width = displaymetrics.widthPixels;
int height = displaymetrics.heightPixels;
mainSurface = new MainSurface(getBaseContext());
mainSurface.getHolder().setFixedSize(width, height);
setContentView(mainSurface);
Затем я просто рисую такие изображения на холсте:
canvas = surfaceHolder.lockCanvas(null);
int id = context.getResources().getIdentifier("imageName", "drawable", context.getPackageName());
Bitmap image = BitmapFactory.decodeResource(context.getResources(), id);
canvas.drawBitmap(image, pos[0], pos[1], null);
surfaceHolder.unlockCanvasAndPost(canvas);
Но все это очень странно... Некоторые изображения / растровые изображения растягиваются, и позиции работают по-разному от изображения к изображению, поэтому, если я даю два изображения в одном и том же положении, они не помещаются в одно и то же место? Это похоже на то, что происходит какое-то управление макетом, которое я не знаю, но как это может быть? Должны ли они не будьте абсолютными позициями всегда, когда рисуете на поверхности?
Я совершенно озадачен!
EDIT
Хорошо это было потому, что у меня есть только изображения в папке "drawable", если я копирую их в" drawable-hdpi " они не растягиваются! Итак, чтобы повернуть мой вопрос в другом направлении, могу ли я заставить Android прекратить это делать? Могу ли я заставить Android просто использовать мои изображения как есть, даже если они существуют только в папке "drawable" и в то же время использовать эти изображения (например, значок и такие), которые находятся в разных папках dpi?
1 ответ:
Это было потому, что у меня есть только изображения в папке "drawable", если я копирую их в папку" drawable-hdpi", они не растягиваются!
EDIT: на самом деле, если вы хотите использовать одни и те же изображения для всех экранов и не изменять их размер на Android, вы можете поместить их в папку "drawable-nodpi"
Comments