آموزش متریال دیزاین کردن Toast
سلام دوستان با آموزش متریال دیزاین کردن Toast در خدمتتون هستیم.
در کل دوبخش رو در می توان تغییر داد 🙂
- بخش متن
- بخش پشت متن (Background)
در کد زیر ما یک Toast جدید ایجاد کردیم ما در حال سفارشی سازی هستیم
پس بخش Toast سفارشی ما به شکل زیر می شود.
1 2 3 4 | Toast toast = Toast.makeText(this, resId, Toast.LENGTH_SHORT); TextView v = (TextView) toast.getView().findViewById(android.R.id.message); v.setTextColor(Color.RED); toast.show(); |
همان طور که می بینید ما از خود toast متد getView و پیدا کردن یا FindViewById را برای تغییر متن مورد نظر استفاده کردیم. ما رنگ متن را قرمز کردیم ! برای اطلاع گفتم 🙂
و برای این که رنگ یا کلا بخش پشت (Background) رو در Toast تغییر بدیم نیاز به ساخت یک View جدید داریم که کد آن به شکل زیر می شود.
ما در زیر به تغییر ویژگی های دیگه مثل وسط چین , چپ چین و در کل در مورد موقیعت Toast که به کاربر نمایش داده می شود به تفصیر بحث خواهیم کرد.
فایل xml مرتبط با Toast سفارشی ما همانند زیر می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toast_layout_root" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="8dp" android:background="#DAAA" > <ImageView android:src="@drawable/droid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="8dp" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFF" /> </LinearLayout> |
و بخش کد جاوا مربوط به Toast سفارشی ما به شکل زیر می شود.
1 2 3 4 5 6 7 8 9 10 | LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.custom_toast, (ViewGroup) findViewById(R.id.toast_layout_root)); TextView text = (TextView) layout.findViewById(R.id.text); text.setText("This is a custom toast"); Toast toast = new Toast(getApplicationContext()); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.setDuration(Toast.LENGTH_LONG); toast.setView(layout); toast.show(); |
در بالا ما ابتدا با استفاده از LayoutInflater فایل Toast سفارشی خود را در اصطلاح می خونیم و سپس با استفاده از View اجزایی مانند Image view و Textview را پیدا می کنیم و پس از آن یک Toast ایجاد کرده و آن را سفارشی سازی می کنیم همان طور که می بینید با استفاده از setGravity محل نمایش آن را تنطیم می کنیم و با استفاده از ویژگی setDuration مقدار زمانی که را Toast باید نمایش داده شود را تنطیم می کنیم و این بخش شامل دو بخش LENTGHY_LONG برای مدت طولانی و LENGTH_SHORT برای مدت کوتاه استفاده می شود و در آخر با استفاده از ویژگی setView در محل تعریف شده فایل Xml را تنظیم می کنیم .
آموزش به اتمام رسید انشاالله مفید واقع شده باشد.