मुझे दृश्य के स्थान मान प्राप्त करने के कई तरीके पता हैं।एंड्रॉइड: अनुवाद एनीमेशन के बाद दृश्य की नवीनतम स्थिति प्राप्त करने का कोई तरीका है?
getLocationOnScreen()
getLocationInWindow()
getLeft()
हालांकि, उनमें से कोई भी वास्तव में देखें मैं startAnimation द्वारा ले जाया गया() विधि के वर्तमान स्थान है, लेकिन केवल मूल स्थान देता है।
तो, अब चलिए एक दृश्य बनाते हैं जो प्रत्येक क्लिक पर 10 पिक्सल तक दाएं स्थानांतरित होता है (मैं लेआउट को छोड़ रहा हूं, क्योंकि आप अपने मुख्य एक्सएमएल में जो भी दृश्य डाल सकते हैं और इसे क्लिकक्लिक लिस्टर दे सकते हैं)।
public class AndroidTestActivity extends Activity implements OnClickListener {
LinearLayout testView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
testView = (LinearLayout) this.findViewById(R.id.test);
testView.setOnClickListener(this);
}
public void onClick(View v) {
int[] pLoS = new int[2];
testView.getLocationOnScreen(pLoS);
TranslateAnimation move = new TranslateAnimation(pLoS[0], pLoS[0] + 10, 0f, 0f);
move.setFillAfter(true);
move.setFillEnabled(true);
testView.startAnimation(move);
}
}
जैसा कि आप देख, इस रूप में मैं इरादा, getLocationOnScreen के बाद से काम नहीं करता है() हमेशा एक ही मान देता है (मेरे मामले में, 0), और मूल्य मैं TranslateAnimation में इस्तेमाल किया प्रतिबिंबित doen't ..
कोई विचार?
धन्यवाद एक गुच्छा। – Quv