Android imageView ScaleTypes

Yağmur Erdoğan
3 min readMar 16, 2021

--

Android’ de imageView için 8 adet Scale Type bulunmaktadır. Bunları tek tek inceleyelim.

Öncelikle yeni bir proje oluşturun ve activity_main.xml dosyasında default olarak gelen textView’ u silin. İstediğiniz herhangi bir logoyu drawable dosyasına ekleyin. Daha sonra activity_main.xml dosyasında imageView oluşturduktan sonra bu logoyu kullanacağız.

layout_width = “match_parent” ve layout_height=“180dp” değerleri değişmeden sadece scaleType yerine görsellerin üzerinde bulunan değerleri yazdığımızda elde ettiğimiz sonuçlar bu şekildedir.

1) center

  • Görsel imageView içerisinde ortalanır.
  • Görsel ölçülerinde oynama olmaz, görselin boyutu sabit kalır.
  • imageView içerisine sığmayan kısımlar kırpılır.

2) centerCrop

  • Görsel imageView içerisinde ortalanır.
  • Görselin en boy oranı korunur.
  • Görsel imageView’ dan daha büyükse, yatay veya dikey boyutlardan biri imageView’ un kenarına ulaşana kadar küçültülür.
  • Görsel imageView’ dan daha küçükse, yatay ve dikey boyutların ikisi de imageView’ un kenarlarına erişene kadar büyütülür.
  • imageView içerisine sığmayan kısımlar kırpılır.

3) centerInside

  • Görsel imageView içerisinde ortalanır.
  • Görselin en boy oranı korunur.
  • Görsel imageView’ dan daha büyükse, yatay ve dikey boyutların ikisi de imageView’ un kenarına ulaşana kadar küçültülür.
  • Görselin imageView içerisine tamamen oturması sağlanır ve böylece herhangi bir kırpma olmaz.

4) matrix

  • Görsel çizilirken imageView’ a özel bir matrix uygulanır. Bunun için imageView.setImageMatrix(Matrix) ile birlikte kullanılmalıdır.
  • Görselin şeklini özelleştirmek için kullanılabilir.

5) fitCenter (Default)

  • Görsel imageView içerisinde ortalanır.
  • Görselin en boy oranı korunur.
  • Görsel imageView’ dan daha büyükse, yatay ve dikey boyutların ikisi de imageView’ un kenarına ulaşana kadar küçültülür.
  • Görsel imageView’ dan daha küçükse, yatay veya dikey boyutlardan biri imageView’ un kenarına ulaşana kadar büyütülür.
  • Görselin imageView içerisine tamamen oturması sağlanır ve böylece herhangi bir kırpma olmaz.

6) fitStart

  • Görsel imageView’ un sol üst kısmına yerleştirilir.
  • Görselin en boy oranı korunur.
  • Görsel imageView’ dan daha büyükse, yatay ve dikey boyutların ikisi de imageView’ un kenarına ulaşana kadar küçültülür.
  • Görsel imageView’ dan daha küçükse, yatay veya dikey boyutlardan biri imageView’ un kenarına ulaşana kadar büyütülür.
  • Görselin imageView içerisine tamamen oturması sağlanır ve böylece herhangi bir kırpma olmaz.

7) fitEnd

  • Görsel imageView’ un sağ altına yerleştirilir.
  • Görselin en boy oranı korunur.
  • Görsel imageView’ dan daha büyükse, yatay ve dikey boyutların ikisi de imageView’ un kenarına ulaşana kadar küçültülür.
  • Görsel imageView’ dan daha küçükse, yatay veya dikey boyutlardan biri imageView’ un kenarına ulaşana kadar büyütülür.
  • Görselin imageView içerisine tamamen oturması sağlanır ve böylece herhangi bir kırpma olmaz.

8) fitXY

  • Görselin yatay ve dikey boyutlarının ikisi de imageView’ un kenarına ulaşana kadar ölçeklendirilir.
  • Görselin en boy oranı korunmaz.
  • Görselin imageView içerisine tamamen oturması sağlanır ve böylece herhangi bir kırpma olmaz.

📍Kaynaklar 📗 📒 📔 📓 📙

Daha iyi anlamak için kaynaklara göz atmayı unutmayın. Matrix ile ilgili örnek için turuncu kitaba bakabilirsiniz.

--

--