2012-12-07 14 views
19

मैं अपने फ्रेम लेआउट पर एक छविदृश्य संलग्न कर रहा हूं। यहां मैं अपना इमेजव्यू सेंटर समन्वय प्राप्त करना चाहता हूं। मैं अगले लेआउट में अपना इमेजव्यू सेट करने के लिए उसी समन्वय का उपयोग करूंगा। कृपया मुझे बताएं कि मेरे छविदृश्य के केंद्र समन्वय कैसे प्राप्त करें।मैं एंड्रॉइड में अपने दृश्य के केंद्र एक्स, वाई कैसे प्राप्त कर सकता हूं?

अग्रिम धन्यवाद

+1

दृश्य के निर्माण के बाद? आपने क्या प्रयास किया है –

उत्तर

46

imageView के केंद्र

centreX=imageView.getX() + imageView.getWidth()/2; 
centreY=imageView.getY() + imageView.getHeight()/2; 

हो सकता है लेकिन यकीन है कि आप इसे कहते बाद imageView

+0

लगता है getX() और getY() का उपयोग नहीं किया जा सकता है जब एपीआई स्तर 11 – RxRead

+0

नीचे क्या होगा यदि छवि दृश्य स्केल किया गया है? – isaiasmac

+1

यह समाधान केवल मूल दृश्य के सापेक्ष है। यदि आप इसे वैश्विक होना चाहते हैं तो आपको getLocationOnScreen या getLocationInWindow विधियों का उपयोग करना चाहिए – Nativ

2

बनाए गए इस प्रयास करें कर देगा:

ImageView my_image = (ImageView) findViewById(R.id.my_imageView); 

Rect rectf = new Rect(); 
my_image.getLocalVisibleRect(rectf); 

Log.d("WIDTH  :",String.valueOf(rectf.width())); 
Log.d("HEIGHT  :",String.valueOf(rectf.height())); 
Log.d("left   :",String.valueOf(rectf.left)); 
Log.d("right  :",String.valueOf(rectf.right)); 
Log.d("top   :",String.valueOf(rectf.top)); 
Log.d("bottom  :",String.valueOf(rectf.bottom)); 

इस आशा तुम्हारी सहायता करता है।

धन्यवाद।

3

आप getPivotX() और getPivotY() का उपयोग कर सकते हैं, यह हमेशा दृश्य को देखने के केंद्र में भी रहता है।

+0

इस समस्या का उत्तर वर्तमान समस्या को ठीक करने में ओपी की मदद कैसे करें –

+0

@aiueoH: क्या केंद्र प्राप्त करना संभव है? – DKV

2

जैसा कि @aiueoH उल्लेख किया गया है, आप getPivotX() and getPivotY() का उपयोग कर सकते हैं।

केंद्र के निर्देशांक को खोजने के लिए इस का उपयोग कर प्रयास करें:

int centreX = view.getPivotX()/2; 
int centreY = view.getPivotY()/2; 
0

यदि आप तो आप इस का उपयोग कर सकते अन्य दृश्य के केंद्र में एक दृश्य संरेखित करना चाहते हैं - स्पष्ट रूप से उपयोग कर रहा

float center_x = parent_view.getX() + parent_view.getWidth()/2 - child_view.getWidth()/2; 

और उसके बाद -

child_view.setX(center_x); 
संबंधित मुद्दे

 संबंधित मुद्दे