بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پیدا کردن مختصات x و y یک view
سلام دوستان چطور میشه مختصات x و y یک view رو پیدا کنم . من از متدهایgetX وgetY استفاده کردم اما مقدار صفر رو بر میگردونه
کد من اینه
ch1=(CheckBox) findViewById(R.id.ch1);
ch2=(CheckBox) findViewById(R.id.ch2);
float startx = ch1.getX();
float starty = ch1.getY();
float endx = ch2.getX();
float endy = ch2.getY();
Log.i("Log","x1="+startx+" y1="+starty+" x2="+endx+" y2="+endy);
برای این سوال 2 پاسخ وجود دارد.

پاسخ به سوال
Reza
7 سال پیش
+1
0
سلام
int[] location_Of_View = new int[2];
view.getLocationOnScreen(location_Of_View);
left_View= location_Of_View[0];
top_View= location_Of_View[1];
right_View= left_View+ view.getWidth();
bottom_View= top_View+ view.getHeight();

پاسخ به سوال
kazemian
7 سال پیش
+1
0
احتمالا زمانی که مختصات ویوی مورد نظرتون رو میگیرید هنوز رندر نشده برای همین مقدار صفر رو برمیگردونه
شما میتونید از متد زیر استفاده کنید
public void onLoadActivity(final View v) {
ViewTreeObserver vto = v.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
v.getViewTreeObserver().removeOnPreDrawListener(this);
//v.getLeft ...
return true;
}
});
}
و در onCreate به این صورت صداش بزنید :
onLoadActivity(yourView);
این متد چک میکنه هروقت ویوی مورد نظر کاملا لود شد عملیات شما رو انجام میده
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .