缩放图像以适合EditText

时间:2014-08-06 01:34:48

标签: android scale

我将图像附加到EditText并使用ImageGetter类来设置比例。目前我只是使用图像的宽度和高度,如下面的ImageGetter中所示

d.setBounds(0,0, d.getIntrinsicHeight(), d.getIntrinsicWidth() );

但是,我希望图像集符合EditText宽度,然后缩放到适当的高度,以使图像不会出现扭曲。我已经研究过但尚未找到合适的方法来完成这项工作

追加方法:

public void appendToMessageHistory(String username, String message) {
        if (username != null && message != null) {

            messageHistoryText.append(Html.fromHtml("<b>" + username + ":"
                    + "</b>" + "<br>"));
            messageHistoryText.append(Html.fromHtml(message + "<hr>" + "<br>")
                    + System.getProperty("line.separator") + "");
            messageHistoryText.append(Html.fromHtml("<img src = '" + getResources().getDrawable(R.drawable.img1) +"'/>", imageGetter, null));

        }
    }

ImageGetter:

    // To get the images you are submitting
    ImageGetter imageGetter = new ImageGetter() {
        @Override
        public Drawable getDrawable(String source) {
            Drawable d = getResources().getDrawable(
                    R.drawable.img1);
            d.setBounds(0,0, d.getIntrinsicHeight(), d.getIntrinsicWidth() );
            return d;
        } 

    };

1 个答案:

答案 0 :(得分:0)

为什么不尝试将Drawable转换为位图并重新缩放呢?

喜欢,

Bitmap bitmap= BitmapFactory.decodeResource(context.getResources(), 
R.drawable.img1);

然后你可以像

那样调整大小
Bitmap resizedBitmap = Bitmap.createScaledBitmap(bitmap, newWidth, newHeight, true);

也许newWidthnewHeight可能是EditText的宽度和高度,

Bitmap resizedBitmap = Bitmap.createScaledBitmap(bitmap, 50, 50, true);

然后将resizedBitmap追加到EditText