آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

۳۳ مطلب با موضوع «آموزش اندروید :: نکات تکمیلی» ثبت شده است

اینکه دات و اسلش در مسیر فایل ها در جاوا (و البته اندروید) چه معنی ای دارند همیشه درگیرم کرده!

 

اینجا

۰ نظر موافقین ۰ مخالفین ۰ ۰۸ آذر ۹۹ ، ۱۲:۴۶
میم دال

این کرنومتر یه مقدار عجیبه! این ویو اکستند شده از تکست ویو بوده و یک تایمر ساده رو پیاده سازی میکنه.

علاوه بر این، دیتای خاصی توی خودش نگه نمیداره. 

این کرنومتر دارای متدهای start و stop هست و pause نداره. ولی میشه خودمون pause رو پیاده سازی کنیم.

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۸ آبان ۹۹ ، ۰۷:۱۳
میم دال

backgroundTint:

یک اتریبیوت باتن هست که رنگ بک گراند رو مشخص میکنه.

توسط shape میشه رنگ و شکل باتن (یا به طور کلی هر ویو) رو تغییر داد. (با ست کردن drawable برای بک گراند)

 

نکته: backgroundTint به shape اولویت داره. یعنی اگر رنگی در shape مشخص شده باشه و رنگ دیگری در backgroundTint، رنگ نهایی ویو همان رنگ backgroundTint خواهد بود.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آبان ۹۹ ، ۰۲:۱۷
میم دال

این اتریبیوت باید برای childهای مستقیم coordinator layout تعریف بشه. مثلا اگر برای nestedScrollView بعد از appBar بذاریم، باعث میشه ویوها رو بعد از appBar قرار بده. اگر نباشه، ویوها از اول صفحه قرار میگیرن.

 

تا الآن برای nestedScrollView که بعد از appBar قرار گرفته و bottomSheet این اتریبیوت رو تعریف کردم.

 

نکته: برای coordinator layout، اسکرول ویو کار نمیکنه! حتما باید nestedScrollView تعریف بشه.

 

توضیحات تکمیلی - لینک خوبیه

 

نمونه 1

 

نمونه 2

۰ نظر موافقین ۰ مخالفین ۰ ۰۷ شهریور ۹۹ ، ۰۳:۴۲
میم دال

میشه برای بک گراند لیوت (یا ویو - ولی لیوت روت بهتره، چون برای همه ویوهای چایلد اعمال میشه) اتریبیوت زیر رو تعریف کرد: (البته باید ویو clickable باشه)

 

android:background="?android:attr/selectableItemBackground"

 

اینجوری باعث میشه وقتی روی آیتم میریم یه سایه خاکستری روش قرار بگیره و زیبا شه! بهش Ripple effect میگن.

 

(میشه برای اتریبیوت foreground هم این افکت رو قرار داد. نمیدونم فرقش چیه)

 

مدل های دیگه ولی این از همه بهتر و سازگارتره

 

برای کارد ویو بعد از true قرار دادن clickable، به صورت زیر میشه این افکت رو ایجاد کرد:

android:foreground="?android:attr/selectableItemBackground"
۰ نظر موافقین ۰ مخالفین ۰ ۰۶ شهریور ۹۹ ، ۲۱:۵۳
میم دال

اگر ویوی ما به صورت ذاتی قابل کلیک نباشه، مثل webView یا View یا کارد ویو و اینا باید این اتریبیوت رو براش true بذاریم تا توی کد بشه onClickListener واسش نوشت.

 

یعنی میگیم این ویو باید به کلیک ها پاسخ بده.

 

android:clickable="true"
۰ نظر موافقین ۰ مخالفین ۰ ۰۶ شهریور ۹۹ ، ۰۳:۵۲
میم دال

اتریبیوت 

android:fitsSystemWindows="true"

که عمدتا توی coordinator layout استفاده میشه زمانی کاربرد داره که status bar و navigation bar رو توی تم توسط عبارات زیر transparent کرده باشیم.

<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>

 

حالا کار این اتریبیوت چی هست؟ کل ویو رو توی فول اسکرین فیت میکنه (یعنی status bar و navigation bar رو در نظر نمیگیره)

اینجا کامل توضیح داده به زبان چینی :)) با گوگل ترنسلیت بزن به فارسی 

 

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

 

این مقاله مدیوم هم بد نیس

۰ نظر موافقین ۰ مخالفین ۰ ۳۱ مرداد ۹۹ ، ۲۳:۳۳
میم دال

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

 

android:fillViewport="true"

 

اگر محتوا بزرگتر از صفحه بود مهم نیست این اتریبیوت باشه یا نه.

 

اینجا با مثال قشنگ توضیح داده.

۰ نظر موافقین ۰ مخالفین ۰ ۲۴ مرداد ۹۹ ، ۰۴:۰۷
میم دال

برای لود کردن عکس دو تا متد وجود داره:

 

1.

 

imageID.setImageResource(int id);

2.

 

imageID.setImageDrawable(context.getResources().getDrawable(int id))

 

این برای کلاس هایی غیر اکتیویتی استفاده میشه.

 

ID همون ...R.drawable هست.

۰ نظر موافقین ۰ مخالفین ۰ ۲۲ مرداد ۹۹ ، ۱۹:۵۹
میم دال