Как установить drawable (с измененным размером) в кнопке как Android: drawableTop во время выполнения - PullRequest
3 голосов
/ 21 октября 2011

Я получаю количество изображений и текст, связанный с ним с сервера. Теперь я хочу установить каждое изображение с текстом (внизу) в LinearLayout

Я получил ответ на вторую часть вопроса от здесь

button.setCompoundDrawables(left, top, right, bottom);

Но проблема в том, что я получаю изображения разных размеров и хочу изменить их размер

Мне удалось изменить размер Button byиспользуя параметры макета, но с

setCompoundDrawable(left,top,right,bottom); размер изображения не изменяется

Как я могу добиться этого ??

1 Ответ

1 голос
/ 21 октября 2011

Надеюсь, приведенный ниже код работал для вас, потому что он отлично работает со мной

   Bitmap bitmap = ImageResizeUtility.resizeBitmap(bitmap, 100, 110);

Используйте этот класс для изменения размера изображений

public class ImageResizeUtility
{

    public static Bitmap resizeBitmap(final Bitmap bitmap, final int width, final int height)
    {
        final int oldWidth = bitmap.getWidth();
        final int oldHeight = bitmap.getHeight();
        final int newWidth = width;
        final int newHeight = height;

        // calculate the scale
        final float scaleWidth = ((float) newWidth) / oldWidth;
        final float scaleHeight = ((float) newHeight) / oldHeight;

        // create a matrix for the manipulation
        final Matrix matrix = new Matrix();
        // resize the Bitmap
        matrix.postScale(scaleWidth, scaleHeight);
        // if you want to rotate the Bitmap

        // recreate the new Bitmap
        final Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, oldWidth, oldHeight, matrix, true);

        return resizedBitmap;
    }
...