Android imageView ScaleTypes
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.