Android Tutorial – Toast

การสร้าง Toast อย่างง่ายๆใน แอนดรอยด์(Android) กันบ้าง Toast คือคลาสที่ใช้แสดงข้อความขึ้นมาบนหน้าจอ ดังรูป

AndroidJump Toast 1

Toast คือคลาสใน Android ที่ใช้แสดงข้อความขึ้นมาบนหน้าจอ โดยจะแสดงเฉพาะข้อความ ไม่มีปุ่มอื่น เช่น OK หรือ Cancel เป็นต้น และจะแสดงในระยะเวลาสั้นๆ

ความรู้ที่ได้จากตัวอย่างนี้
1. การเขียนโปรแกรมเพื่อใช้งาน Toast
2. การแสดง Toast ขึ้นมาด้วย method “show()”

เริ่มกันเลยค้าบ….^_^
1. สร้างโปรเจ็ค Android Project โดยไปที่เมนู File > New > Project > Android Project หรือ File > New > Android Project ( กรณีมี เมนู Android Project ให้เลือก )

2. กำหนดค่าต่างๆ ดังรูป แล้วคลิกปุ่ม Finish โดยจะเห็นว่าเราติ๊กที่ CheckBox “Create Activity :” เพื่อสร้าง Activity Class ชื่อ MainActivity ให้เราอัตโนมัติ

AndroidJump Toast 2

3. ที่ AndroidManifest.xml ไม่ต้องแก้ไขอะไร เนื่องจากโปรแกรมนี้เรามี Activity Class เดียว

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.androidjump.app.simpletoast" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="7" /> </manifest> 

4. แก้ไขส่วนแสดงหน้าจอ User Interface หน้าจอหลักไปที่ layout > main.xml ดังนี้ (สามารถสร้างไฟล์ XML ใหม่ เพื่อใช้เป็นส่วนแสดงผลได้ แต่ในที่นี้ใช้ main.xml ที่สร้างให้เราอัตโนมัติ)

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Simple Toast" android:textSize="25sp" android:textStyle="bold" /> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:id="@+id/btnDisplayToast" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="Display Toast Message"/> </LinearLayout> </LinearLayout>

จากโค๊ดข้างต้น ส่วนของโค๊ด XML ไม่มีคำสั่งที่ควบคุม Toast เนื่องจากเราสามารถเรียกใช้งาน Toast จากโค๊ดจาวาได้เลย

5. แก้ไข Activity Class “MainActivity” ที่ src > com.androidjump.app.simpletoast > MainActivity ดังนี้ เพื่อให้แอพพลิเคชั่นทำงานได้อย่างถูกต้อง

package com.androidjump.app.simpletoast; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; // 1 import android.widget.Toast; public class MainActivity extends Activity { /** Called when the activity is first created. */ private Button btnDisplayToast; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnDisplayToast = (Button)findViewById(R.id.btnDisplayToast); btnDisplayToast.setOnClickListener( new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub // 2 Toast.makeText(MainActivity.this, "Here is TOAST message", Toast.LENGTH_SHORT).show(); } } ); } } 

จากโค๊ดข้างต้น ส่วนของโค๊ด JAVA ที่ควบคุม Button คือข้อ 1-4 ดังนี้
1. import คลาส Toast เข้ามาเพื่อให้สามารถใช้งาน Toast ในคลาส MainActivity ได้
2. เมื่อเรากดปุ่ม “Display Toast Message” โปรแกรมจะแสดงข้อความขึ้นมาจาก Toast โดยการเรียกใช้งาน Toast นั้น มีรูปแบบการใช้งานดังนี้

Toast.makeText(context, text, duration).show()

เมธทอด “maketext” คือเมธทอดที่ใช้สร้างกล่องข้อความ Toast โดยสร้างจากองค์ประกอบ 3 ตัว คือ context, text, และ duration

context คือคลาสที่จะให้แสดง Toast ขึ้นมา ในที่นี้คือคลาส MainActivity เราจึงใช้เป็น MainActivity.this เพื่อบอกให้ Android รู้ว่าใช้คลาสตัวมันเอง หากเราใช้แค่ this อย่างเดียว จะทำให้ Android เข้าใจว่าเรากำลังอ้างอิงไปยัง Interface “OnClickListener” ซึ่ง Interface นี้จะใช้งาน Toast ไม่ได้
text คือข้อความที่เราต้องการให้แสดงใน Toast
duration คือระยะเวลาที่ Toast แสดงบนหน้าจอ แบ่งออกเป็น 2 ระยะเวลา
1. Toast.LENGTH_SHORT ใช้สำหรับแสดงข้อความเป็นระยะเวลาสั้นๆ เหมาะสำหรับข้อความสั้นๆ
2. Toast.LENGTH_LONG ใช้สำหรับแสดงข้อความเป็นระยะเวลานานขึ้น เหมาะสำหรับข้อความยาวๆ
แต่ทั้ง 2 ระยะ ก็แสดงไม่กี่วินาที

เมธทอด “show()” คือเมธทอดที่ใช้แสดงกล่องข้อความ Toast ขึ้นมา

ดังนั้นจากโค๊ดตัวอย่าง เราจึงเขียนคำสั่งใช้งาน Toast ได้ดังนี้

Toast.makeText(MainActivity.this, "Here is TOAST message", Toast.LENGTH_SHORT).show();

จากนั้นรันโปรแกรม คลิกขวาที่โปรเจ็ค SimpleToast เลือก Run As -> Android Application โปรแกรมจะทำงานดังที่กล่าวข้างต้น

 

credit : http://www.androidjump.com/droidjump-android-tutorial-13-toast/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s