Toast Android Part III

Lanjuuut…

Sekarang kita akan membuat Custom Toast. Untuk membuat Custom Toast, kita harus mendefinisikan sebuah View layout, dalam XML  atau dalam kode aplikasi, dan memanggil View tersebut kedalam method setView(view).

Contoh : kita akan membuat sebuah file XML baru untuk Toast tersebut. Dalam hal ini ane berinama toast_layout.xml.

Caranya :klik kanan layout -> New -> Android XML File

4-5-2013 10-52-21 PM

Kemudian akan tampil form seperti dibawah ini :

4-5-2013 10-55-57 PMIsikan konfigurasinya seperti gambar diatas. Langkah selanjutnya buat desain Toastnya. Disini ane menambahkan ImageVIew dan TextView kedalam toast_layout.xml nya. Dan berikut kode lengkapnya.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/toast_layout_root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    android:orientation="vertical"
    android:padding="8dp" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#ffffff"
        tools:ignore="HardcodedText" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/logolufi"
        tools:ignore="ContentDescription" />

</LinearLayout>

Oh iya, jangan sampai lupa, karena kita menggunakan ImageView maka sebelumnya kita harus menambahkan sebuah image dengan format .png dan usahakan namanya image yang akan kita gunakan menggunakan huruf kecil semua. Ane menggunakan logolufi sebagai image yang akan ditampilkan pada Custom Toast nantinya.

android:src="@drawable/logolufi"

Cari sebuah image -> copy -> paste-kan ke folder drawable-mdpi.
4-5-2013 10-58-41 PMLangkah berikutnya adalah buka MainActivity.java dan buat sebuah method baru untuk menampung Custom Toast Tersebut. Untuk menampilkan Custom Toast kita menggunakan setView(view). Berikut source nya.

 public void customToast(){
    	LayoutInflater inflater=getLayoutInflater();
    	View layout=inflater.inflate(R.layout.toast_layout, (ViewGroup) findViewById(R.id.toast_layout_root));

    	TextView text=(TextView) layout.findViewById(R.id.textView1);
    	text.setText("Ini Adalah Custom Toast");

    	Toast toast=new Toast(getApplicationContext());
    	toast.setGravity(Gravity.BOTTOM, 10, 10);
    	toast.setDuration(Toast.LENGTH_LONG);
    	toast.setView(layout);
    	toast.show();
    }

Selanjutnya membuat event ketika Button ketiga di klik. Tambahkan kode berikut pada method onCreate(Bundle savedInstanceState).

 button3.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				customToast();
			}
		});

Jalankan Aplikasi kawan-kawan.
4-5-2013 11-05-30 PM

sourcecode lengkap MainActivity.java

package com.is.toasttest;

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.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

	Button button1;
	Button button2;
	Button button3;

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

        button1=(Button) findViewById(R.id.button1);
        button2=(Button) findViewById(R.id.button2);
        button3=(Button) findViewById(R.id.button3);

        button1.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				toast();
			}
		});

        button2.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				posisiToast();
			}
		});

        button3.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				customToast();
			}
		});
    }

    public void toast(){
    	Context context=getApplicationContext();
    	CharSequence text="Ini Adalah Toast";
    	int durasi=Toast.LENGTH_LONG;

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

    public void posisiToast(){
    	Context context=getApplicationContext();
    	CharSequence text="Ini Adalah Posisi Toast";
    	int durasi=Toast.LENGTH_LONG;

    	Toast toast=Toast.makeText(context, text, durasi);
    	toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
    	toast.show();
    }

    public void customToast(){
    	LayoutInflater inflater=getLayoutInflater();
    	View layout=inflater.inflate(R.layout.toast_layout, (ViewGroup) findViewById(R.id.toast_layout_root));

    	TextView text=(TextView) layout.findViewById(R.id.textView1);
    	text.setText("Ini Adalah Custom Toast");

    	Toast toast=new Toast(getApplicationContext());
    	toast.setGravity(Gravity.BOTTOM, 10, 10);
    	toast.setDuration(Toast.LENGTH_LONG);
    	toast.setView(layout);
    	toast.show();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}

Akhirnya selesai sudah eksperimen yang kita lakukan. Dari membuat Toast yang biasa, Toast yang dapat kita sesuaikan posisinya dan yang terakhir Custom Toast. Oleh karena itu postingan kali ini saya akhiri sekian, semoga bermanfaat dan sampai jumpa dipostingan berikutnya.
Baca juga :

Download Project Latihannya disini.

Sayounara ..

sumber : http://developer.android.com/guide/topics/ui/notifiers/toasts.html

One thought on “Toast Android Part III

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s