آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

کاستوم کنترل (Custom Control)  (حل نشده)

امید  10 سال پیش  10 سال پیش
0 0

سلام دوستان

میخوام طراحی زیر رو در برنامم استفاده کنم، لطفا راهنمایی کنید

توی این طراحی میخوام وقتی کاربر هر خونه ای رو تاچ می کنه و به هر سمتی که بکشه روی خونه های بعدیش تاثیر بزاره و اونارو جابجا کنه.

مثل یجور جورچین تقریبا.

بر اساس تجربه و تحقیقاتی که تا این لحظه انجام دادم فعلا 2 روش برای این کار پیدا کردم. یکی استفاده از متد onTouch و ایجاد Margin بین لایه ها و دیگری استفاده از onTouch و animation ها

که البته جفتشون هم کارهای وقتگیر و پیچیده ای هست

اگر راهکاری برای انجام این کار سراغ دارید لطفا راهنمایی کنید

ممنون

0 0
از همون onTouch استفاده کن ولی بهش محدودیت مکانی بده ! (10 سال پیش)
0 0
یعنی چی محدودیت مکانی بدم؟ (10 سال پیش)
0 0
یعنی به لبه های گوشی که رسید از اون بیشتر نتونه بره، بعدش منظورتون از "روی خونه های بعدیش تاثیر بزاره و اونارو جابجا کنه" چیه ؟ (10 سال پیش)
0 0
عکسی که گذاشتم رو نگاه کنید از بالا به پایین با فلش مشخص کردم. منظورم از اون فلش انگشت کاربره که تاچ کرده و به سمت فلش داره میکشه. مثلا هر لایه ای رو که کاربر گرفت و جابجاکرد وقتی اون لایه به لایه بعدی رسید اون لایه رو هم جابجا کنه (10 سال پیش)
0 0
دوستان کسی راه حل بهتری برای این کار نداره ؟ با استفاده از onTouch و Margin کار خیلی پیچیده میشه. از طرفی هم تعداد لایه های من مشخص نیست و متغیره. اگر کسی نظر دیگه ای برای انجام این کار داره لطفا راهنمایی کنه (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
امید  10 سال پیش
0 0

دوستان با استفاده از کد زیر میشه هر ویویی رو در محور X و با استفاده از Margin جابجا کرد

 @Override
public boolean onTouch(View view, MotionEvent event) {

LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) view.getLayoutParams();

int x_finger = (int) event.getRawX();

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

x_margin = x_finger - layoutParams.leftMargin;

break;

case MotionEvent.ACTION_MOVE:

layoutParams.leftMargin = x_finger - x_margin;

if (layoutParams.leftMargin <= 0) {
layoutParams.leftMargin = 0;
}

view.setLayoutParams(layoutParams);
break;
}
return true;
}

حالا میخوام وقتی که ویویی که کاربر گرفته و داره جابجا میکنه و این ویو به لایه کناریش میرسه روی اون هم تاثیر بزاره و اون رو هم جابجا کنه

راه حلش چیه و باید چیکار کرد؟

 

پاسخ به سوال 
امید  10 سال پیش
0 0

یعنی واقعا کسی نمیتونه کمک کنه؟

0 0
کمک کنید لطفا (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .