Изменить размер ImageButton?

У меня есть ImageButton, я использую включенное изображение @android: drawable/ic_menu_more. Но он слишком велик. Какой лучший способ изменить размер, чтобы он лучше вписывался в мою форму? Кроме того, можно ли его вращать внутри xml? (только один раз, не основанный на состоянии)

Ответы

Ответ 1

попробуйте установить android:background вместо android:src для установки изображения на кнопке. Это может помочь в вашем случае, так как оно растянет изображение до размера вашей кнопки. Кроме того, вам нужно будет указать фиксированные размеры для кнопок (используйте dip вместо px). Пример:

<ImageButton
     android:background="@drawable/ic_menu_more"
     android:layout_width="50dip"
     android:layout_height="50dip" />

Ответ 2

Из решения steven-byle (fooobar.com/questions/62827/...) он говорит:

"... Используйте андроид: scaleType =" fitCenter ", чтобы иметь Android-масштаб изображений, android: adjustViewBounds =" true ", чтобы они могли корректировать их границы из-за масштабирования..."

Это работает для меня

Ответ 4

Как я решил эту проблему, нужно создать растровое изображение из рассматриваемого ресурса чертежа, а затем преобразовать его в масштабированное растровое изображение с требуемым размером. Я также устанавливаю фон прозрачным, чтобы отображать только изображение.

    int height = 300;
    int width = 500
    Bitmap bmp;
    bmp = BitmapFactory.decodeResource(getResources(), R.drawable.myresourcename);
    bmp = Bitmap.createScaledBitmap(bmp, width, height, true);
    ImageButton imageButton = new ImageButton(this.getActivity());
    imageButton.setImageBitmap(bmp);
    imageButton.setBackgroundColor(Color.TRANSPARENT);

Затем добавьте его в макет.