شما این محصولات را انتخاب کرده‌اید

سبد خرید

ویو در اندروید
کد: 7977
بازدید: 93

آموزش ساخت ویو در اندروید :

 

۱. بازدیدهای سفارشی

۱.۱. نماهای پیش فرض

چارچوب Android چندین نمایش پیش فرض را ارائه می دهد. یک نمایش پایه کلاس پایه است. نمایش ها وظیفه اندازه گیری ، چیدمان و ترسیم خود و عناصر فرزندشان را دارند (در صورت مشاهده گروه). بازدیدها همچنین مسئول صرفه جویی در وضعیت رابط کاربری خود و اداره رویدادهای لمسی هستند. توسعه دهندگان همچنین می توانند نمای سفارشی ایجاد کرده و از آنها در برنامه خود استفاده کنند.

ایجاد نماهای دلخواه توسط:

  • نمایش های کامپکت – ترکیب نمای با سیم کشی پیش فرض
  • نماهای سفارشی – ایجاد نماهای شخصی شما
  • با گسترش یک نمای موجود ، به عنوان مثال دکمه
  • با گسترش کلاس ویو
  • تصویر زیر سلسله مراتب نمای پیش فرض Android را نشان می دهد.

ویو در اندروید

 

نمایش به طور معمول ایجاد می شود تا تجربه رابط کاربری با نمایش های پیش فرض امکان پذیر نباشد. استفاده از نمای سفارشی به توسعه دهنده اجازه می دهد تا بهینه سازی عملکرد خاصی را انجام دهد ، یعنی در صورت طرح بندی سفارشی ، توسعه می تواند مدیر طرح را برای مورد استفاده خود بهینه کند.

۱.۲ چگونه Android سلسله مراتب نمایش را ترسیم می کند

پس از اینکه فعالیتی تمرکز را دریافت کرد ، باید گره ریشه سلسله مراتب طرح خود را به سیستم Android ارائه دهد. پس از آن سیستم آندروید روش طراحی را شروع می کند.

رسم با گره ریشه طرح شروع می شود. سلسله مراتب چیدمان به ترتیب اظهارنامه طی می شود ، یعنی پدر و مادر قبل از اینکه فرزندانشان ترسیم شود و فرزندان نیز به ترتیب اظهارنامه کشیده شوند.

رسم طرح یک فرایند دو مرحله است:

اندازه گیری پاس – پیاده سازی شده در روش اندازه گیری (int، int) این اتفاق به عنوان یک گذر از بالا به پایین سلسله مراتب دیدگاه رخ می دهد. هر نمای اندازه گیری خود را ذخیره می کند.

طرح گذر - با استفاده از روش طرح (int، int، int، int). این همچنین یک گذر از بالا به پایین سلسله مراتب نمای است. در این مرحله ، هر مدیر طرح بندی مسئولیت موقعیت یابی همه فرزندان خود را به عهده دارد. از اندازه های محاسبه شده در گذرگاه اندازه گیری استفاده می کند.

 

مرحله اندازه گیری و چیدمان همیشه با هم اتفاق می افتد.

مدیران چیدمان می توانند معیار عبور را چندین بار اجرا کنند. به عنوان مثال ، LinearLayout از ویژگی وزنی پشتیبانی می کند که فضای خالی باقی مانده را بین بازدیدها توزیع می کند و RelativeLayout چندین بار کودک را برای حل محدودیت های داده شده در پرونده طرح بندی می کند.

یک بازدید یا فعالیت می تواند با فراخوانی به متقاضی () طرح درخواست () طرح و اندازه گیری و طرح را تحریک کند.

بعد از اندازه گیری و محاسبه چیدمان ، نماها خود را ترسیم می کنند. این عملیات را می توان با استفاده از روش () نامعتبر () از کلاس ویو شروع کرد.

 

۱.۳ استفاده از نماهای جدید در پرونده های طرح بندی

نماهای سفارشی و مرکب را می توان در پرونده های طرح بندی استفاده کرد. برای این کار شما باید از نام کامل واجد شرایط در پرونده طرح استفاده کنید ، به عنوان مثال با استفاده از بسته و نام کلاس

 

 

همچنین می توانید فضای نام را در پرونده طرح ، مشابه فضای نام Android ، اعلام کنید.

۱.۴. عکسهای صفحه نمایش ایجاد کنید

هر کلاس نمایش از ایجاد تصویری از صفحه نمایش فعلی خود پشتیبانی می کند. کدگذاری زیر نمونه ای از آن را نشان می دهد.

۲. نمایش های مرکب

نماهای مرکب (همچنین به عنوان کامپوننت کامپوننت نیز شناخته می شوند) ViewGroup ها از پیش تنظیم شده بر اساس نمایش های موجود با برخی از تعامل نمای از پیش تعریف شده تنظیم شده اند.

نمایش های ترکیبی همچنین به شما امکان می دهد API سفارشی را برای به روزرسانی و پرس و جو وضعیت نمای ترکیبی اضافه کنید.

برای چنین کنترلی یک فایل طرح بندی را تعیین می کنید و آن را به نمای مرکب خود اختصاص می دهید. در اجرای نمای مرکب شما تعامل نمای را از پیش تعریف می کنید. شما یک فایل طرح بندی تعریف می کنید و کلاس ViewGroup مربوطه را گسترش می دهید. در این کلاس فایل طرح بندی را باد می کنید و منطق اتصال اتصال را پیاده سازی می کنید

 

۳. ایجاد نماهای سفارشی

۳.۱ ایجاد نماهای سفارشی

با گسترش کلاس ویو یا یکی از زیر کلاس های آن می توانید نمای سفارشی خود را ایجاد کنید.

برای نمایش تصویر از روش onDraw () استفاده کنید. در این روش شما یک جسم بوم دریافت می کنید که به شما امکان می دهد عملیات نقاشی روی آن را انجام دهید ، به عنوان مثال خطوط ، دایره ، متن یا بیت مپ ها را بکشید. اگر نمای مجدداً ترسیم شود ، شما به روش () (()) بی اعتبار () که باعث تماس با روش onDraw () این نمای است ، می گویید.

 

برای ترسیم نمایش های خود ، معمولاً از API Canvas 2D استفاده می کنید.

۳.۲ اندازه گیری

مدیر طرح با استفاده از متد onMeasure () نمای را مشاهده می کند. نمای پارامتر طرح بندی را از مدیر طرح دریافت می کند. یک مدیر چیدمان وظیفه دارد اندازه فرزندان خود را تعیین کند.

این نمای باید متد setMeasuredDimenstion (int، int) را با نتیجه فراخوانی کند.

۳.۳ تعریف مدیران طرح های سفارشی

با گسترش کلاس ViewGroup می توانید مدیر طرح بندی دلخواه خود را پیاده سازی کنید. این به شما امکان می دهد تا مدیران چیدمان کارآمدتری را پیاده سازی کنید یا جلوه هایی را که در حال حاضر در سیستم عامل اندرویدی گم شده اند اجرا کنید.

یک مدیر چیدمان سفارشی می تواند روش onMeasure () و onLayout () را نادیده گرفته و محاسبه فرزندان خود را تخصصی کند. به عنوان مثال می تواند پشتیبانی وقت گیر از layout_weight از کلاس LinearLayout را از دست ندهد.

 

این خوب است که می توانید پارامترهای طرح اضافی را در یک کلاس داخلی اجرای ViewGroup خود ذخیره کنید. به عنوان مثال ViewGroup.LayoutParams پارامترهای چیدمان فرمان را پیاده سازی می کند ، و` LinearLayout.

 

۴- چرخه زندگی از منظره اندرویدی

۴.۱ رویدادهای چرخه زندگی مربوط به پنجره

اگر به یک سلسله مراتب طرح که به یک پنجره وصل شده است ، نمایش داده می شود. یک نمای چندین قلاب چرخه عمر دارد.

پس از در دسترس بودن پنجره ، onAttachedToWindow () فراخوانی می شود.

هنگامی که نمایش از والدین خود خارج می شود (و اگر والد به پنجره وصل شده باشد) از onDetachedFromWindow () استفاده می شود. برای مثال اگر فعالیت بازیافت شود (مثلاً از طریق فراخوان متد () به پایان رسید) یا نمایش بازیافت شود ، این اتفاق می افتد.

از روش onDetachedFromWindow () برای متوقف کردن انیمیشن ها و پاکسازی منابع مورد استفاده توسط نمای استفاده می شود.
۴.۲. وقایع چرخه زندگی متراکم

رویدادهای چرخه زندگی Traversals شامل Animate ، Measure ، Layout و Draw می باشد.

ویو

همه دیدگاه ها باید بدانند که چگونه خود را اندازه گیری و چیدمان کنند. فراخوانی متد requestLayout () به این منظره می گوید که خود اندازه گیری و طرح بندی می کند. از آنجا که این عملیات ممکن است بر طرح سایر دیدگاه ها که تحت عنوان “(” درخواست “) از والدینش نیز تأثیر می گذارد ، تأثیر بگذارد.

 

متد onMeasure () اندازه را برای نمای و فرزندان آن تعیین می کند. قبل از بازگشت ، باید این متد را با استفاده از متد setMeasuredDimension () در این روش تنظیم کنید.

onLayout () نمایش ها را بر اساس نتیجه فراخوانی متد onMeasure () قرار می دهد. این تماس معمولاً یک بار اتفاق می افتد ، در حالی که onMeasure () می تواند بیش از یک بار اتفاق بیفتد.

۴.۳ چرخه عمر فعالیت

بازدیدها به رویدادهای چرخه زندگی فعالیتها دسترسی ندارند. اگر دیدگاه ها می خواهند از این رویدادها مطلع شوند ، باید یک رابط در نمای مورد نظر خود که از روش های چرخه فعالیت فعالیت می نامید ، ایجاد کنید.
۵. ویژگی های اضافی را برای بازدیدهای سفارشی خود تعریف کنید

شما می توانید ویژگی های دیگری را برای نمایش های مرکب یا سفارشی خود تعریف کنید. برای تعریف ویژگی های اضافی ، یک پرونده attrs.xml را در پوشه res / ارزش های خود ایجاد کنید. در زیر نمونه ای از ویژگی های تعریف شده برای نمای جدید به نام ColorOptionsView را نشان می دهد.

 

برای استفاده از این ویژگی ها در پرونده طرح خود باید آنها را در عنوان XML بیان کنید. در لیست زیر این کار از طریق xmlns انجام می شود: قسمت سفارشی کد. این خصوصیات همچنین به نمای اختصاص داده می شود.

 

مثال زیر چگونگی دسترسی مؤلفه ها به این ویژگی ها را نشان می دهد.

 

 

۶. ورزش: نمای کاملی ایجاد کنید

۶.۱. ایجاد پروژه

یک پروژه جدید Android با داده های زیر ایجاد کنید.

Property Value

Testing

Table width

Application Name

Compound view example

Project Name

com.vogella.android.customview.compoundview

Package name

com.vogella.android.customview.compoundview

API (Minimum, Target, Compile with)

Latest

Template

Empty Activity

Activity

MainActivity

Layout

activity_main

 

۶.۲ ویژگی های اضافی را تعریف و استفاده کنید

پرونده خصوصیات زیر با نام attrs.xml را در پوشه res / ارزش های خود ایجاد کنید.

 

پرونده طرح مورد استفاده توسط فعالیت را به صورت زیر تغییر دهید.

 

۶.۳ نمای مرکب ایجاد کنید

فایل طرح زیر را با عنوان view_color_options.xml برای نمای مرکب خود ایجاد کنید.

 

 

نمای مرکب زیر را ایجاد کنید.

۶.۴ فعالیت را تنظیم کنید

فعالیت خود را به کد زیر تغییر دهید و برنامه خود را اجرا کنید.

 

 

 

view در اندروید

آموزش ساخت سفارشی View ویو در اندروید
0 از 0 رای

نویسنده

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

هجده − 3 =