برنامه نویسی اندروید

اموزش برنامه نویسی اندروید تخصصی

برنامه نویسی اندروید

اموزش برنامه نویسی اندروید تخصصی

Toast سفارشی

vahid hasani | | ۰ نظر

توست یک پیام را به کاربر نمایش می دهد و  بعد از چند لحظه از بین می رود.در این آموزش می خواهیم یک 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.MainActivity" >

 

<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="Button" />

 

</RelativeLayout>

 

در ادامه یک فایل xml جدید در پوشه ی layout ایجاد کرده و نام آن را  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/>

حالا می خواهیم از یک فایل shape برای زیبا کردن Toast استفاده کنیم.برای این کار یک فایل xml در فولدر drawable  ایجاد کرده و نام آن را 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"

</

shape</

 

در مرحله ی بعد وارد فایل MainActivity.java شده و کدهای زیر را در آن وارد کنید:

 

 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 در نظر میگیرم.

  • vahid hasani

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی