Изменить размер ImageView до 1080x1920 - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь изменить размер ImageView до 1080x1920 , приведенный ниже код работает, но он делает ImageView немного меньше, и когда я сохраняю ImageView как Bitmap Iполучить 722x1284 в качестве разрешения изображения, мой способ неправильно изменяет размер представления изображения?

void initializeStickerView() {
            mDensity = getResources().getDisplayMetrics().density;
            actionBarHeight = (int) (110 * mDensity);
            bottombarHeight = (int) (60 * mDensity);
            viewWidth = getResources().getDisplayMetrics().widthPixels;
            viewHeight = getResources().getDisplayMetrics().heightPixels - actionBarHeight - bottombarHeight;
            viewRatio = (double) viewHeight / (double) viewWidth;
            bmRatio = (double) (1920) / (double) (1080);
            if (bmRatio < viewRatio) {
                bmWidth = viewWidth;
                bmHeight = (int) (((double) viewWidth) * ((double) (1920) / (double) (1080)));
            } else {
                bmHeight = viewHeight;
                bmWidth = (int) (((double) viewHeight) * ((double) (1080) / (double) (1920)));
            }
            final RelativeLayout.LayoutParams lparams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
            lparams.addRule(RelativeLayout.CENTER_IN_PARENT);
            lparams.height = bmHeight;
            lparams.width = bmWidth;
            stickerView.setLayoutParams(lparams);
            stickerView.setBackgroundColor(Color.WHITE);
            stickerView.setLocked(false);
            stickerView.setConstrained(true);
        }
...