مقاله آموزشی - Toast سفارشیتو بساز

پرسیده شده
فعالیت 1415 روز پیش
دیده شده 930 بار
5

رفقا سلام

بدون مقدمه بگم 

امروز میخایم بریم آموزش توست سفارشی شاید خیلی ها بگن اقا Toast منسوخ شده! نه 

اصلا اینطور نیست :) Snackbar ی که شما میگین صرفا اومده تا بتونی از امکانات ویژه تری استفاده کنی

راستی اگر نمیدونی اسنک بار چیه بعدا باهاش آشنا میشی

خب میریم سر وقت آموزش هامون!

من به دو صورت بهتون آموزش میدم یکی از طریق فایل drawable و یکی از طریق ساخت یک لایه

خب اول از همه داخل فایل drawable یک فایل xml با این کد ها ایجاد کنید:

 <?xml version="۱.۰" encoding="utf-۸"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#C۰۰۰۸۰" />
            <stroke android:width="۱dp"
                    android:color="#۴B۴B۴B" />
            <corners android:radius="۱۰dp" />
            
        </shape>
    </item>
</selector>

خب حالا کد های جاوای زیر را تو جایی که میخواید Toast اجرا بشه رو بنویسید:

Toast toast = Toast.makeText(getApplicationContext(), "Custom Toast :)", Toast.LENGTH_LONG);
        View view = toast.getView();
        view.setBackgroundResource(R.drawable.toast);
        toast.setView(view);
        toast.show();

این آموزش اول بود

حالا آموزش Toast سفارشی با استفاده از لایه ی شخصی خودتون!

میدونید که برای نمایش یک view داخل یک view دیگه باید از LayoutInfelater استفاده کنید:

واسه این کار داخل فایل layout یک فایل xml شخصی با سلیقه ی خودتون بسازید فقط یادتون نره که این فایل شخصی باید فقط حاوی یک TextView و یک ImageView باشه اگه بیشتر باشه یه مقدار زشت میشه دیگه حالا خودتون میدونید:

حالا کد های فایل xml داخل فایل layout رو اینجوری بزنید:

 <?xml version="۱.۰" encoding="utf-۸"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="right"
    android:gravity="right"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/txt_toast"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_marginRight="۱۰۰dp"
        android:text=":)"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="۱۲sp" />

    <ImageView
        android:id="@+id/imageView۱"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:src="@drawable/ic_launcher" />

</LinearLayout>

خب حالا کد های جاوا :

LayoutInflater inflater = getLayoutInflater();
    	View view1 = inflater.inflate(R.layout.toast, null);
    	TextView textView = (TextView) view1.findViewById(R.id.txt_toast);
    	textView.setText("This is a Custom TOAST");
    	Toast toast = new Toast(this);
    toast.setView(view1);
    	toast.show();

مرسی ک با من بودین .

فایل پیوست

پوریا شفیعی
پوریا شفیعی

27 خرداد 99

2
حذف شده

سلام مرسی ولی کاش یه دمو میذاشتی حداقل یه عکس :)

فایل پیوست

وحید گروسی

توسط

وحید گروسی

29 خرداد 99

حذف شده
حتما وحید عزیزم ای کاش پلتفرم طوری بود که بشه بین خطوط عکس گذاشت . ولی خب چشم پیوست میکنم
پوریا شفیعی

29 خرداد 99