Как узнать размер загруженного чертежа в Android?

#android #drawable

#Android #drawable

Вопрос:

Я сделал

 Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_deletebutton, null);
System.out.println(drawable.getBounds());
  

и получил

 I/System.out: Rect(0, 0 - 0, 0)
  

Почему? И как узнать размер «drawable», который хранится в файле?

Ny drawable выглядит так

введите описание изображения здесь

Комментарии:

1. Вы хотите знать высоту и ширину правильно? вы пробовали drawable.getIntrinsicWidth() amp; drawable.getIntrinsicHeight()

Ответ №1:

getBounds() Метод возвращает границы объекта рисования, если он уже виден на экране. Итак, взгляните на этот код.

 // Before
Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_deletebutton, null);
System.out.println(drawable.getBounds());
  

Вывод: Rect(0, 0 — 0, 0)

 //After
Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_deletebutton, null);
imageView.setImageDrawable(drawable);
System.out.println(drawable.getBounds());
  

Вывод: Rect(0, 0 — 88, 88)

Во втором случае он вернет границы в виде Rect объекта, где верхний левый угол — это точка (0,0), а нижний правый угол представляет размеры объекта рисования.

Если вам нужно получить размер чертежа, не отображая его на экране, вы должны следовать решению @Mouaad и использовать drawable.getIntrinsicWidth() drawable.getIntrinsicHeight() методы и для их поиска.