Üzerinde çalıştığım bir uygulamada bir pusula oluşturmalıyım. Bu yüzden temelde görüntüyü genişleten CompassView adlı yeni bir görünüm oluşturmaya çalıştım, doğu batı kuzey güneye bakan bir bitmapi gösteriyor, telefonun işaret ettiği dereceleri bulmak için sensörler kullanıyor ve görüntüyü oluşturacak şekilde döndürüyor gerçek bir pusula. Ama sorun şu ki, görüntüyü 45 derece gibi bazı açılara döndürmeye çalışırsam, küçülür. İşte daha iyi açıklamak için bazı görüntüler. İşte Android'de küçültmeden görüntüyü döndürme
geçerli: Gördüğünüz gibi ben döndürmek çalıştığınızda, ikinci görüntü büzüşmüş olan
etrafında 45. Ne ben yapmak istiyorum budur Şu anda kullandığınız kod:
Bitmap bMap = BitmapFactory.decodeResource(getResources(),
R.drawable.compass);
Matrix xMatrix = new Matrix();
xMatrix.reset();
xMatrix.postRotate(360-mValue, 75, 75); //This is 75 because 150 is the image width
Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0,
bMap.getWidth(), bMap.getHeight(), xMatrix, true);
setImageBitmap(bMapRotate);
Herhangi bir yardım için teşekkür ederiz ated. THanks
DÜZENLEME: (ÇÖZÜM) Sonunda, kabul cevabı sayesinde çalışma var. böylece
RotateAnimation rAnimAntiClockWise = new RotateAnimation(
360 - mValue, 360 - event.values[0],
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
//mValue is the angle in degrees and i subtracted it from 360 to make it anticlockwise, and event.values[0] is the same thing as mValue
rAnimAntiClockWise.setFillAfter(true);
rAnimAntiClockWise.setInterpolator(new LinearInterpolator());
rAnimAntiClockWise.setDuration(0);
startAnimation(rAnimAntiClockWise);
sayesinde tuval ve özel görünümler için yeni beri bunları nasıl uygulanacağı bilmiyordum rotateanimasyondan. Çalışmak için kodun bazı kısımlarını değiştirmek zorundaydım – KSubedi