آموزش کار با snackbar در اندروید
آموزش کار با snackbar در اندروید
سلام دوستان اینبار با اموزش snackbar و سفارشی سازی snackbar در خدمتون هستیم.
خب برای استفاده از snackbar می تونیم از کد زیر استفاده کنیم دقت کنید ما از CoordinatorLayout استفاده کردیم امکان استفاده از اسنکبار در AppCompatActivity وجود دارد که آن را نیز بیان خواهیم کرد.
CoordinatorLayout
1 2 3 | Snackbar snackbar = Snackbar .make(coordinatorLayout, "Welcome to Programchi.ir", Snackbar.LENGTH_LONG); snackbar.show(); |
AppCompatActivity
1 2 3 | Snackbar .make(findViewById(android.R.id.content),"بهتر است ابتدا راهنما را مطالعه کنید", Snackbar.LENGTH_INDEFINITE) .show(); |
خب دوستان دقت کنن مثل همیشه برای ساخت چیزی از کلاس اون استفاده می کنیم تنها نکاتی که حائزه اهمیته در بخش زیر بهش اشاره می کنم.
1 2 3 | LENGTH_SHORT LENGTH_LONG LENGTH_INDEFINITE |
ما می تونیم اسنکبار رو در سه بازه زمانی مختلف نمایش بدیم که دوتا از آنها کاملا واضح است .
LENGTH_SHORT : برای زمانی است که می خواهید snackbar برای زمان کوتاهی نمایش داده شود.
LENGTH_LONG : برای زمانی است که می خواهید snackbar برای زمانی بیشتر نمایش داده شود.
LENGTH_INDEFINITE : برای زمانی است که می خواهید به طور مثال تا زمانی که کاربر روی دکمه کلیک کرد نمایش داده شود یا به طور مثال یک دیتایی از اینترنت دانلود شود.
خب دوستان برای اینکه به snackbar دکمه اضافه کنیم می تونیم از کد زیر استفاده کنیم باز تاکیید می کنم در بخش AppCompatActivity و CoordinatorLayout نمایش کاملا متفاوت است کد ها اندکی باید تغییر کنند که ما هردوبخش رو در زیر برای دوستان میزاریم .
AppCompactActivty
1 2 3 4 5 6 7 8 | Snackbar .make(findViewById(android.R.id.content),"بهتر است ابتدا راهنما را مطالعه کنید", Snackbar.LENGTH_INDEFINITE) setAction("باشه", new View.OnClickListener() { @Override public void onClick(View vv) { } }) .show(); |
CoordinatorLayout
1 2 3 4 5 6 7 8 9 | Snackbar snackbar = Snackbar .make(coordinatorLayout, "Message is deleted", Snackbar.LENGTH_LONG) .setAction("UNDO", new View.OnClickListener() { @Override public void onClick(View view) { Snackbar snackbar1 = Snackbar.make(coordinatorLayout, "Undo Message!", Snackbar.LENGTH_SHORT); snackbar1.show(); } });snackbar.show(); |
خب می بینید که در بخش بالا ما کد setAction رو اضافه کردیم خب وقتی snackbar ایجاد می شود برای کاربر یک دکمه در سمت راست , متن نیز نمایش داده میشود همانند عکس زیر
snackbar
snackbar
برای تغییر رنگ ها نیز می توانید از کد های زیر استفاده کنید.
1 2 3 4 5 6 | snackbar.setActionTextColor(Color.RED); // Changing action button text color View sbView = snackbar.getView(); TextView textView = (TextView) sbView.findViewById(android.support.design.R.id.snackbar_text); textView.setTextColor(Color.YELLOW); snackbar.show(); |
ممنون از اینکه با ما بودید امیدواریم که آموزش مثمره ثمر بوده باشد.
من گیج شدم
کدومو باید کجا بذارم
از کدهای AppCompatActivity استفاده کنید در اکتیویتیتون..
برا اشنایی با CoordinatorLayout هم میتونید اموزش زیر رو مطالعه کنید:
https://programchi.ir/2017/08/28/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-coordinatorlayout-%d8%af%d8%b1-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af/
دمت گرم سپهر جان
واقعا سایت پروگرامچی بهترین سایت آموزش برنامه نویسی هست
خواهش میکنم..ممنون 🙂
خیلی ممنون واقعا آموزشاتون عالیه دمتون گرم تشکرمن دربرابر زحماتتون خیلی کمه ولی همین از دستم میومد و آرزوی پیشرفت و موفقیت دارم براتون ?????
ممنون از شما لطف دارید.
سلام … چجوری میشه جای textAction و textMessage تو snackbar جابجا کرد ، به نوعی فارسی بشه؟
سلام از کد زیر استفاده کنید.
موفق باشید.
ممنون بابت پاسخ … فقط من در محیط زامارین اندروید کد میزنم … این کد تونستم معادل سازی کنم جز
view1.setLayoutDirection(View.LAYOUT_DIRECTION_RTL)
که نتونستم معادلش تو زامازین اندروید پیدا کنم؟؟!
سلام مشکل از تارگت 16 توی زامارین هست به 17 تغییر دهید کد بالا معادلی در زامارین ندارد ولی می تونید از ویژگی های زیر استفاده کنید.
موفق باشید.