2011-08-26 16 views
6

मैं थोड़ी देर के लिए एंड्रॉइड पर काम कर रहा हूं और जानना चाहता हूं कि एंड्रॉइड में बटन की स्थिति को पुनर्प्राप्त करना संभव है या नहीं।एंड्रॉइड में एक बटन के एक्स एंड वाई निर्देशांक पुनर्प्राप्त करें?

मेरा लक्ष्य एक्स & वाई प्राप्त करना है और उन्हें LOGCAT पर प्रिंट करना है।

मुझे दिखाने के लिए कुछ उदाहरण मुझे कैसे सराहना की जाएगी।

धन्यवाद

उत्तर

9

ज़रूर, आप इन प्राप्त कर सकते हैं, यह सुनिश्चित करने के विचारों कम से कम एक बार इससे पहले कि आप पदों प्राप्त करने की कोशिश तैयार कर रहे हैं।

    : आप अगर आप कुछ माता पिता के सापेक्ष की जरूरत है, एपीआई परिभाषाओं को

    view.getLeft(), view.getTop() 
    

    लिंक का उपयोग करें) onResume (में पदों के प्राप्त करने के लिए कोशिश करते हैं और इन कार्यों

    view.getLocationInWindow() 
    or 
    view.getLocationOnScreen() 
    

    की कोशिश कर सकते या

  • getLocationInWindow
  • getLocationOnScreen
  • getLeft
  • getTop
+0

** getLocationInWindow (int []) ** और ** getLocationOnScreen (int []) ** पैरामीटर है। क्या आप अपने विचार के बारे में निश्चित हैं? – hakiko

+0

@ hakkikonu ** getLocationInWindow (int []) ** के उपयोग को समझने के लिए मेरे उत्तर पर एक नज़र डालें। –

4

Azlam जैसा कहा था कि आप View.getLocationInWindow() उपयोग कर सकते हैं निर्देशांक एक्स, वाई मिलता है।

Point centerPoint = getCenterPointOfView(button); 
Log.d(TAG, "view center point x,y (" + centerPoint.x + ", " + centerPoint.y + ")"); 

private Point getCenterPointOfView(View view) { 
    int[] location = new int[2]; 
    view.getLocationInWindow(location); 
    int x = location[0] + view.getWidth()/2; 
    int y = location[1] + view.getHeight()/2; 
    return new Point(x, y); 
} 

मुझे आशा है कि उदाहरण अभी भी किसी के लिए उपयोगी हो सकते हैं: दिए गए दृश्य के केंद्र बिंदु प्राप्त करने के लिए -

Button button = (Button) findViewById(R.id.yourButtonId); 
Point point = getPointOfView(button); 
Log.d(TAG, "view point x,y (" + point.x + ", " + point.y + ")"); 

private Point getPointOfView(View view) { 
    int[] location = new int[2]; 
    view.getLocationInWindow(location); 
    return new Point(location[0], location[1]); 
} 

बोनस:

यहाँ एक उदाहरण है।

0
buttonObj.getX(); 
buttonObj.getY();