Android Navigation
راهنمایی پیاده سازی navigation.
راهنمایی پیاده سازی navigation.
اگه بخواییم یک اینترفیس رو پیاده سازی کنیم ولی تمام متدهای اون رو پیاده سازی نکنیم (یک کلاس دیگه داریم که همون اینترفیس رو پیاده سازی کرده و ما فقط میخوایم یکسری تغییر توی اون ایجاد کنیم).
interface Base
class BaseImpl() : Base
class Derived(n: Base) : Base by n
final:
static:
A a = new A();
A.B b = a.new B();
زمانی که یک اکتیویتی ساخته میشه متدهای onCreate و onStart و onResume به ترتیب فراخوانی میشوند تا زمانی که ما اکتیویتی را مشاهده میکنیم و زمانی که یک اکتیویتی میخواد به کار خودش خاتمه بده متدهای onPause و onStop و onDestroy به ترتیب فراخوانی میشوند.
const یک ثابت کامپایل تایم هست، یعنی مقدار آن در زمان کامپایل مشخص میشود بر خلاف val که میتوان داده آن را در زمان اجرا مشخص کرد.
این به این معنی است که مقدار const را نمیتوان برابر با یک متد یا یک کلاس قرار داد. مقدار آن باید primitive باشد مانند String.
همچنین const در جاوا public static final میشود در حالی که val در جاوا private static final میشود.
وقتی یک کلاس View را توصعه میدهد شی canvas در متد onDraw در اختیارش قرار میگیرد.
برای محاسبه ابعاد view وقتی در حالت wrap_content قرار دارد باید متد onMeasuer را پیاده سازی کنیم برای فراخوانی این متد باید تابعد requestLayout را صدا بزنیم.
وقتی یک کلاس ViewGroup را توسعه میدهد باید onLayout را پیاده سازی کند.
در ViewGroup داستان این هستش که ما توی متد onLayout ابعاد layout خودمون رو داریم و فضایی که میخوای به هر کدوم از child ها اختصاص بدیم رو باید محاسبه کنیم و متد layout رو از child ها صدا بزنیم و ابعاد رو بدیم.
اگه child توی صفحه دیده بشه متد onDraw اون صدا زدم میشه و میشه هر کاری که میخوایم رو اونجا انجام بدیم.
دقت داشته باشید که موقعیت ها در اشیای فرزند نثب به خود آنها محاسبه میشود.