1168 نیروی متخصص آماده کـار برای شمـا هستند
حالا پروژه خود را ایجاد کنید
تعداد طراحان اندروید 1029
تعداد نرم افزار های اندروید 0
تعداد طراحان آی او اس 1007
تعداد نرم افزارهای آی او اس 0
آخرین اخبار سایت
ایجاد Toast سفارشی

ایجاد Toast سفارشی

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

برای شروع کار یک پروژه جدید ایجاد کرده و عنوان این پروژه را Toast قرار دهید. روی لایه اصلی برنامه main.xml یک Button قرار دهید تا زمانی که روی آن کلیک شد پیغام برنامه به کاربر نمایش داده شود.

 

"RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android>
"xmlns:tools="http://schemas.android.com/tools
"android:layout_width="match_parent
"android:layout_height="match_parent
"android:paddingBottom="@dimen/activity_vertical_margin
"android:paddingLeft="@dimen/activity_horizontal_margin
"android:paddingRight="@dimen/activity_horizontal_margin
"android:paddingTop="@dimen/activity_vertical_margin
<"tools:context="com.example.toast.MainActivityy

Button>
"android:id="@+id/button1
"android:layout_width="wrap_content
"android:layout_height="wrap_content
"android:layout_centerHorizontal="true
"android:layout_centerVertical="true
</ "android:text="Buttonn

<RelativeLayout/>

 

سپس در پوشه ی layout یک فایل xml جدید ساخته و نام آن را  toast_layout بگذارید. داخل این لایه برای نمایش تصویر یک ImageView و برای نمایش دادن متن یک TextView قرار دهید. درحقیقت این لایه Toast خواهد بود. کدهای نشان داده شده در زیر را در لایه ی toast_layout وارد کنید:

 

<?"xml version="1.0" encoding="utf-8?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android
"android:layout_width="wrap_content
"android:layout_height="wrap_content
<"android:background="@drawable/toast_border

"ImageView android:layout_width="wrap_content>
"android:layout_height="wrap_content
</"android:src="@drawable/ic_launcher

TextView>
"android:paddingLeft="10dp
"android:textColor="#ffffff
"android:textStyle="bold
"android:layout_width="wrap_content
"android:layout_height="wrap_content
"android:text="Please wait
</"android:layout_gravity="center_vertical

<LinearLayout/>

 

برای زیبا کردن Toast از یک فایل shape استفاده می شود. برای این کار در فولدر drawable یک فایل xml ایجاد کرده و نام آن را toast_shape قرار دهید مانند زیر:

 

<?"xml version="1.0" encoding="utf-8?>
<"shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle>
<corners
"android:radius="20dp
/>
<solid
"android:color="#03D9C3
/>
<padding
"android:left="0dp
"android:top="0dp
"android:right="0dp
"android:bottom="0dp
/>
<size
"android:width="500dp
"android:height="110dp
/>
<stroke
"android:width="1dp
"android:color="#878787
/>
</sh

 

سپس در فایل MainActivity.java کدهای زیر را وارد کنید:

 

;package com.example.toast

;import android.os.Bundle
;import android.app.Activity
;import android.content.Context
;import android.view.Gravity
;import android.view.LayoutInflater
;import android.view.Menu
;import android.view.View
;import android.view.View.OnClickListener
;import android.widget.Button
;import android.widget.Toast

}public class MainActivity extends Activity 

;private Button btn

Override@
} (protected void onCreate(Bundle savedInstanceState
;(super.onCreate(savedInstanceState
;(setContentView(R.layout.activity_main

;(btn = (Button) findViewById(R.id.button1

 

ایجاد قابلیت کلیک برای دکمه:


} ()btn.setOnClickListener(new OnClickListener//

Override@
} (public void onClick(View v

;()showCustomAlert

{      
;({   
{


()public void showCustomAlert
}

;()Context context = getApplicationContext


// ساخت یک لایه با استفاده از toast.xml file


;()LayoutInflater inflater = getLayoutInflater

 

// فراخوانی لایه برای نمایش toast :


;(View toastRoot = inflater.inflate(R.layout.toast_layout, null

;(Toast toast = new Toast(context

// ست کردن مقادیر لایه به toast جهت نمایش :


;(toast.setView(toastRoot
,toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL
;(0, 0
;(toast.setDuration(Toast.LENGTH_LONG
;()toast.show

{  

 

ابتدا یک Button  معرفی کرده و برایش یک رویداد کلیک مینویسیم تا زمانی که روی آن کلیک شد کدهای توست اجرا شوند. در ادامه نیاز به ایجاد یک تابع برای نوشتن مقادیر توست در آن داریم. با استفاده از دستور setGravity برای Toast یک گرانش در نظر گرفته می شود که حالت آن را روی CENTER_HORIZONTAL و CENTER_VERTICAL باید قرار داد. در انتها با استفاده از دستور setDuration  برای toast زمان نمایش در نظر میگیریم. تصویری که مشاهده میفرمایید خروجی مطالب گفته شده است:


  • دسته بندی :
  • تاریخ انتشار : 24 اردیبهشت 1396
  • بازدید : 738

برچسب ها :