فایربیس یک سیستم بک اند هست. نحوه ثبت پروژه در سایت فایربیس و اپلیکیشین در ادامه توضیح داده می شود.
فایربیس یک سیستم بک اند هست. نحوه ثبت پروژه در سایت فایربیس و اپلیکیشین در ادامه توضیح داده می شود.
اگر توی کامنت (در فایل جاوا) از TODO یا FIXME استفاده بشه، اون خط از کامنت هایلایت میشه و در قسمت پایین اندروید استودیو در تب TODO نشون داده میشه. captal بودن حروف مهم نیست. (خیلی مفیده)
توی XML بین اتربیوت های یک تگ نمیشه کامنت گذاشت. یعنی اندروید استودیو نمیذاره این کارو انجام بدیم.
کامنت حتما باید خارج از تگ باشه.
بنده با یک چالش جدید در پرمیشن رو به رو شدم و اونم چیزی نیست جز shouldShowRequestPermissionRationale!
تا قبل از این ازش استفاده نمیکردم ولی باید استفاده کنم. کدی که مینویسم در نهایت برای همه جا قابل استفاده هست.
وقتی برای اولین بار باکس پرمیشن نشون داده میشه این متد false میده. توی این باکس یه تیکی هست که میگه دیگه این پرمیشن رو نشون نده. اگر کاربر این تیک رو بزنه دیگه باکس پرمیشن رو نشون نمیده و باید از طریق ستینگ پرمیشن رو enable کنه. در این حالت این متد false میده. ولی اگر این تیک رو نزنه این متد true میده.
برای پیاده سازی این ویو حتما باید از drawerlayout استفاده بشه.
کد XML: (به اتریبیوت های هایلایت شده دقت شود)
اگر دو تا toast پشت سر هم داشته باشیم، یک پشته (queue) تشکیل میشه و پس از نشون دادن اولی، دومی اجرا میشه.
اما اسنک بار اینجوری نیست. اگر دو تا پشت سر هم بذاریم دومی اجرا میشه فقط
برای اینکه یک صفی از اسنک بارها ایجاد کنیم به صورت زیر کد میزنیم:
Snackbar snackbar = Snackbar.make(view, "salam", Snackbar.LENGTH_SHORT);
snackbar.addCallback(new BaseTransientBottomBar.BaseCallback<Snackbar>() {
@Override
public void onDismissed(Snackbar transientBottomBar, int event) {
Snackbar.make(view, "bye...bye", Snackbar.LENGTH_SHORT).show();
}
});
snackbar.show();
برای اسنک بار اول یک کال بک ایجاد شده و اسنک بار دوم رو توش تعریف کردیم.
پس از تموم شدن مدت نشون دادن اولی، دومی اجرا میشه.
همان طور که مستحضر هستید، آیتم های منوی پاپ آپ نمیتونن آیکون داشته باشن. برای حل این موضوع، یک آیتم برای منو میسازیم و به آیکونش وکتور سه نقطه میدیم. توی این آیتم یک زیر منو تعریف میکنیم. به صورت زیر:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:title="menu"
android:id="@+id/main_menu_two"
android:icon="@drawable/ic_more_vert"
app:showAsAction="always">
<menu>
<item android:title="item 1"
android:icon="@drawable/ic_favorite"/>
<item android:title="item 2"
android:icon="@drawable/ic_favorite"/>
<item android:title="item 3"
android:icon="@drawable/ic_favorite"/>
<item android:title="item 4"
android:icon="@drawable/ic_favorite"/>
</menu>
</item>
</menu>
خروجی:
مثل منوی پاپ آپ، توی فایل XML منو، کد زیر رو مینویسیم:
<item
android:icon="@drawable/ic_search"
android:title="search"
android:id="@+id/search"
app:actionViewClass="androidx.appcompat.widget.SearchView"
app:showAsAction="always" />
این اتریبیوت باید برای childهای مستقیم coordinator layout تعریف بشه. مثلا اگر برای nestedScrollView بعد از appBar بذاریم، باعث میشه ویوها رو بعد از appBar قرار بده. اگر نباشه، ویوها از اول صفحه قرار میگیرن.
تا الآن برای nestedScrollView که بعد از appBar قرار گرفته و bottomSheet این اتریبیوت رو تعریف کردم.
نکته: برای coordinator layout، اسکرول ویو کار نمیکنه! حتما باید nestedScrollView تعریف بشه.