Sample Sidebar Module

This is a sample module published to the sidebar_top position, using the -sidebar module class suffix. There is also a sidebar_bottom position below the menu.

Sample Sidebar Module

This is a sample module published to the sidebar_bottom position, using the -sidebar module class suffix. There is also a sidebar_top position below the search.
برنامه نویسی

toast message برای نمایش یک پیام سریع و کوتاه به کاربر در برنامه بسیار مفید است. البته امروزه اغلب ترجیح میدهند به جای آن از Snackbar استفاده کنند که در مطلبی دیگر درباره آنن خواهم نوشت. این پیام به طور خودکار پس از پایان زمان مشخصی از بین می روند

به عنوان مثال تصویر زیر را ببینید:

آنچه در تصویر فوق دیده میشود نمای پیشفرض Toast Message است. در این مطلب قصد دارم توضیح دهم که چگونه میتوانیم این پیام را شخصی سازی کنیم و با فرمت دلخوه خود نمایش دهیم.

فرمت پیشفرض استفاده از این پیام به صورت زیر است:

نمونه کد در جاوا:

Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;

Toast toast = Toast.makeText(context, text, duration);
toast.show();

نمونه کد در کاتلین:

val text = "Hello toast!"
val duration = Toast.LENGTH_SHORT

val toast = Toast.makeText(applicationContext, text, duration)
toast.show()

حال بیایید فرمت دلخواه خود را ایجاد کنیم:

برای سفارشی کردن آن یک لایه میسازیم. حتی می توانیم یک تصاویر را داخل پیام خود قرار دهیم. در این حالت تغییر رنگ و اندازه متن بسیار آسان است. بیایید شروع کنیم!


نحوه ایجاد ابزارک های اندروید: Custom Toast (نان تست سفارشی)


ابتدا یک فایل XML در layout ایجاد میکنیم و تمام آیتمهای اندرویدی را که می خواهیم در Toast نمایش دهیم را درون آن میچینیم.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/toast_custom"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/normal_padding"
    android:background="@drawable/custom_toast_bg"
    android:gravity="center_vertical"
    android:orientation="horizontal">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="4dp"
        app:src="@drawable/ic_notify_bell_24" />

    <TextView
        android:id="@+id/tvtoast"
        android:textSize="13sp"
        android:textColor="@android:color/white"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:text="attantion please" />
</androidx.appcompat.widget.LinearLayoutCompat>

ایجاد یک فایل XML دیگر در drawable که ظاهر نما لایه را نشان می دهد و در طرح فوق به عنوان پس زمینه استفاده شده است.
بنابراین xml دیگری با نام custom_toast_bg.xml ایجاد کنید:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#FF5722" />

    <stroke
        android:width="1dp"
        android:color="#000000" />

    <corners android:radius="10dp" />
</shape>

حال فقط کافی است یک متد ایجاد کنیم و مثلا آنرا در اکتیویتی خود قرار دهیم و هر زمان به نمایش این پیام احتیاج بود آنرا فراخوانی کنیم:

    public void toastMessage(String msg) {
        // Inflating the layout for the toast
        LayoutInflater inflater = getLayoutInflater();
        View layout = inflater.inflate(R.layout.custom_toast, findViewById(R.id.toast_custom));
        
        TextView text = layout.findViewById(R.id.tvtoast);

        // Setting the text to be displayed in the Toast
        text.setText(msg);

        // Setting the color of the Text to be displayed in the toast
        // text.setTextColor(Color.rgb(0, 132, 219));

        // Creating the Toast
        Toast toast = new Toast(getApplicationContext());

        // Setting the position of the Toast
        // toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);

        // Setting the duration of the Toast
        toast.setDuration(Toast.LENGTH_SHORT);

        // Setting the Inflated Layout to the Toast and show
        toast.setView(layout);
        toast.show();
    }

سورس کد این مطلب را در مخزن گیت هاب از طریق لینک زیر دانلود کنید:

https://github.com/AppAfzar/android_utilities/tree/master/Utilities

نویسنده: هاشمی

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

فرم ورود

فرم ثبت نام