تبلیغات

کتابخانه AndroidTreeView اندروید – نمایش درختی و هایراکی

کتابخانه AndroidTreeView اندروید
نمایش درختی ویوها در برنامه نویسی اندروید
به همراه سورس کد ماژول کتابخانه + سورس نمونه


AndroidTreeView، کتابخانه‌ای برای نمایش اطلاعات در یک ساختار درختی می‌باشد.

امکان پیمایش یا اسکرول نیز در این درخت وجود دارد. ولی به یاد داشته باشید که با محدودیت‌هایی همراه هستید؛ شما به کمک این کتابخانه نمی‌توانید آیتم‌های درخت را از راست به چپ بچینید و آن‌ها از چپ به راست خواهند بود. (البته سورس پلاگین در دسترس قرار دارد و می‌توانید روی آن تغییراتی اعمال کنید)

نمونه‌های اجرا شده با این کتابخانه:

ویژگی‌های AndroidTreeView

  • قابلیت بستن و باز کردن درخت‌ها (expandable/collapsable)
  • تنظیم مقادیر، ویوها و استایل دلخواه برای نودهای (گره یا بچه) درخت
  • نگه داشتن وضعیت، پس از چرخش صفحه
  • حالت انتخاب برای گره‌ها
  • امکان اضافه و حذف کردن نودها به صورت داینامیک (پویا)
در نسخه‌های نزدیک به 4.0 اندروید، اگر شما ساختار درختی عمیقی داشته باشید، امکان کرش وجود خواهد داشت. که البته الآن دیگر وقت اندروید 4.0 به سر رسیده و اشخاص زیادی استفاده نمی‌کنند.

شروع به کار

ابتدا کتابخانه را به پروژه‌ی خود اضافه کنید:

برای شروع کدنویسی، باید یک ریشه بسازیم که گره‌ها (نودها=Nodes) را درون آن قرار دهیم:

حالا باید گره (Node) های خود را بسازیم:

در اینجا، parent یک نود است که child0 و child1 قرار است داخل آن قرار بگیرند. سپس parent نیز قرار است در نود ریشه قرار بگیرد. توجه داشته باشید که نود ریشه نمایشی نبوده و از parent به بعد نمایش داده خواهد شد.

حالا اگر بخواهیم این را نمایش دهیم، به صورت زیر عمل می‌کنیم:

همانطور که می‌بینید، یک ویو از جنس AndroidTreeView ایجاد کرده و ریشه‌‎ را درون آن قرار می‌دهیم. سپس آن را به UI اضافه می‌کنیم.

سفارشی سازی ویوی نودها

برای انجام این کار، بایستی کلاسی بسازیم که از TreeNode.BaseNodeViewHolder مشتق شده باشد و سپس متد createNodeView آن را اورراید کنیم. برای مثال:

در واقع این یک ویوهولدر است. و می‌توانیم آن را به صورت زیر به نودها متصل کنیم:

و در ادامه می‌توانید موارد زیر را نیز خودتان تست کنید:

تبلیغات
0
کانال تلگرام فول کده
تبلیغات

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک گذاری اطلاعات در هر زمینه‌ای / برنامه‌نویس

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه