چارچوب کشیدن و رها کردن Android به شما امکان میدهد قابلیتهای تعاملی کشیدن و رها کردن را به برنامهتان اضافه کنید. با کشیدن و رها کردن، کاربران میتوانند نوشتار، تصویر، شیء، و هر محتوایی را که با URI قابلنمایش باشد از یک View به دیگری در برنامه یا بین برنامهها در حالت چندپنجرهای کپی یا منتقل کنند.
|
|
|
|
|
این چارچوب شامل کلاس رویداد کشیدن، شنوندگان کشیدن، و کلاسها و روشهای کمکی است. اگرچه این چارچوب در درجه اول برای فعال کردن انتقال داده طراحی شده است، میتوانید از آن برای سایر کنشهای واسط کاربر استفاده کنید. برای مثال، میتوانید برنامهای ایجاد کنید که وقتی کاربر نماد رنگی را روی نماد دیگری میکشد، رنگها را ترکیب کند. اما بقیه سند چارچوب کشیدن و رها کردن را در بافت انتقال داده شرح میدهد.
نمای کلی
چند عنصر در فرایند کشیدن دخیل هستند.
منبع کشیدن: نمای نقطه شروع فرایند کشیدن و رها کردن.
هدف رها کردن: نمایی که میتواند دادههای کشیدن را بپذیرد.
سایه کشیدن: سایه کشیدن نمایشی از دادههای درحال کشیده شدن است که برای کاربران قابلمشاهده است.
رویدادهای کشیدن: وقتی کاربر سایه کشیدن را روی چیدمان برنامه حرکت میدهد، سیستم رویدادهای کشیدن را به شنوندگان رویداد کشیدن و روشهای فراخوانی مرتبط با اشیای
Viewدر چیدمان ارسال میکند.
عملیات کشیدن و رها کردن زمانی شروع میشود که کاربر اشارهای در واسط کاربر انجام دهد که برنامه شما آن را بهعنوان سیگنالی برای شروع کشیدن دادهها تشخیص دهد. در پاسخ، برنامه به سیستم اطلاع میدهد که عملیات کشیدن و رها کردن درحال شروع شدن است. سیستم با برنامه شما تماس میگیرد تا سایه کشیدن را دریافت کند و آن را درطول فرایند کشیدن و رها کردن به کاربران نشان دهد.
وقتی کاربر سایه کشیدن را روی چیدمان برنامه حرکت میدهد، سیستم رویدادهای کشیدن را به شنوندههای رویداد کشیدن و روشهای فراخوانی مرتبط با اشیای View در چیدمان ارسال میکند. اگر کاربر سایه کشیدن را روی هدف رها کردن رها کند، سیستم دادهها را به آن ارسال میکند. عملیات کشیدن و رها کردن زمانی پایان مییابد که کاربر سایه کشیدن را رها کند، چه سایه کشیدن روی هدف رها کردن باشد یا نباشد.
موضوع
- مفاهیم کلیدی
- با فرایند کشیدن و رها کردن آشنا شوید.
- DropHelper برای کشیدن و رها کردن سادهشده
- با نحوه پیادهسازی کشیدن و رها کردن با
DropHelperآشنا شوید. - پیادهسازی کشیدن و رها کردن با نماها
- یا اینکه کشیدن و رها کردن را با نماهای Android پیادهسازی کنید، این کار به توسعهدهندگان امکان میدهد کنترل بیشتری روی جزئیات داشته باشند.
- کشیدن و رها کردن در حالت چندپنجرهای
- از کشیدن و رها کردن در حالت چندپنجرهای پشتیبانی کنید، به اشیا اجازه دهید بین برنامههای مختلف جابهجا شوند.
منابع بیشتر
- Codelab برای «کشیدن و رها کردن» بااستفاده از نماها
- ویدیو کشیدن و رها کردن برای انجام چند کار همزمان بهصورت یکپارچه
- نمونههای کشیدن و رها کردن که حاوی روشهای مختلفی برای پیادهسازی کشیدن و رها کردن بههمراه پذیرش رسانه تعاملی است.