पर सिकुड़ने के बिना छवि को घुमाएं मुझे एक ऐप पर एक कंपास बनाने की ज़रूरत है जिस पर मैं काम कर रहा हूं। इसलिए मैंने कम्पासव्यू नामक एक नया दृश्य बनाने की कोशिश की जो मूल रूप से छविदृश्य को बढ़ाता है, एक बिटमैप दिखाता है जिसमें पूर्व पश्चिम उत्तर दक्षिण की ओर इशारा किया गया है, फोन की डिग्री की डिग्री खोजने के लिए सेंसर का उपयोग करता है, और तदनुसार छवि को घुमाता है ताकि वह बना सके एक वास्तविक कंपास। लेकिन समस्या यह है कि अगर मैं छवि को 45 डिग्री की तरह कुछ कोणों में घूमने की कोशिश करता हूं, तो यह नीचे गिर जाता है। यहां कुछ छवियां हैं जो इसे बेहतर समझाने के लिए हैं। एंड्रॉइड
यहाँ है:
आप देख सकते हैं, दूसरी छवि नीचे shrinked है जब मैं बारी बारी से करने की कोशिश के आसपास 45 क्या मैं इसे क्या करना चाहते हैं यह है कोड जो मैं वर्तमान में उपयोग कर रहा हूं:
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);
किसी भी मदद की सराहना की जाएगी पैदा। धन्यवाद
संपादित करें: (समाधान) मुझे अंत में स्वीकार्य उत्तर के लिए धन्यवाद मिल रहा है।
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);
बहुत बहुत शुक्रिया, मुझे नहीं पता था कि यह प्राप्त किया जा सकता है कैनवास और कस्टम दृश्य करने के लिए नया हूँ rotateanimation से। मुझे इसे काम करने के लिए कोड के कुछ हिस्सों को संशोधित करना पड़ा – KSubedi