İmageView Ölçekleme TOP_CROP
Büyük boy oranına sahip bir png görüntüleme ImageView
bir aygıtı (dikey - uzun anlamı konuşma) daha var. En boy oranını koruyarak, üst genişliği eşleşen ve ekranın üst imageview iğneleme yaparken ortaya çıkarmak istemiştim.
Ölçek türü olarak CENTER_CROP
kullanan var sorun (anlaşılabilir) üst kenarı f resim görünümü için üst kenar hizalama yerine ölçekli görüntünün merkezi olur.
FIT_START
sorunu GÖRÜNTÜ Ekran yüksekliği sığdır genişliği ve dolgu değil.
Ben çözdüm bu sorunu kullanarak bir özel İmageView ve geçersiz kılma onDraw(Canvas)
ve handeling bu el ile kullanarak tuval; sorun bu yaklaşım olduğunu 1) endişeleniyorum belki daha basit bir çözüm, 2) Ben bir VM mem özel durum arama super(AttributeSet)
kurucu çalışırken bir dizi src ımg 330kb zaman öbek var 3 mb boş (bir yığın boyutu 6 mb) ve cant işe neden.
Herhangi bir fikir / öneri / çözüm hoş geldin :)
Teşekkürler
p.s. bir çözüm matrisi ölçek türü kullan ve kendim için olabileceğini düşündüm, ama aynı ya da benim şimdiki çözüm daha az gibi görünüyor!
CEVAP
Tamam, çalışan bir çözüm var. Darko dan sor beni İmageView sınıfı tekrar (teşekkürler) gösterdi ve dönüştürme Matrisi aslında ama ilk denemede başarı yoktu! şüpheli olarak () kullanarak başvurdu. Özel imageView benim sınıf super()
sonra setScaleType(ScaleType.MATRIX)
kurucu diyorum ve aşağıdaki yöntemi var.
@Override
protected boolean setFrame(int l, int t, int r, int b)
{
Matrix matrix = getImageMatrix();
float scaleFactor = getWidth()/(float)getDrawable().getIntrinsicWidth();
matrix.setScale(scaleFactor, scaleFactor, 0, 0);
setImageMatrix(matrix);
return super.setFrame(l, t, r, b);
}
Ben yerleştirilen ınt setFrame()
yöntem olarak İmageView çağrısı configureBounds()
içinde bu yöntem, tüm ölçek matrix şeyler gerçekleşir, çok mantıklı görünüyor bana (ki eğer sana katılmıyorum)
Aşağıda süper.() setFrame AOSP yöntemi
@Override
protected boolean setFrame(int l, int t, int r, int b) {
boolean changed = super.setFrame(l, t, r, b);
mHaveFrame = true;
configureBounds();
return changed;
}
Tam sınıf src here bul
Nasıl kaydırma tekerlekli Ölçekleme Go...
İmageView genişlik ve yükseklik progra...
Nasıl köşeleri yuvarlatılmış bir İmage...
Nasıl bir Görüntü ölçek için İmageView...
Kabın genişliğine göre yazı tipi Ölçek...