Saturday 6 April 2013

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 PM
Isikan 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 PM
Langkah 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.

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 ..


Posted by Unknown On 00:35 No comments

0 comments:

Post a Comment

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube

Recent Post

Entri Populer

Total Pageviews

Visitor



Flag Counter

    About

    Orang yang berilmu mengetahui orang yang bodoh karena dia pernah bodoh, sedangkan orang yang bodoh tidak mengetahui orang yang berilmu karena dia tidak pernah berilmu.