0

Custom Toast pada Android tanpa Membuat Layout

Ketika kita menggunakan toast, terkadang kita ingin mengubah parameter-parameternya, misalkan ukuran/warna text. Jika sekedar untuk mengubah warna/ukuran, kita tidak perlu membuat layout tersendiri, cukup dengan layout default yang ada pada android. Berikut adalah contoh penggunaannya:

Toast toast = Toast.makeText(ConfigViewActivity.this,"Password yang Anda Masukkan Salah",Toast.LENGTH_LONG);
TextView tv = (TextView) toast.getView().findViewById(android.R.id.message);
tv.setTextSize(25);
tv.setTextColor(android.R.color.holo_red_dark);
toast.setGravity(Gravity.CENTER, 0,0);
toast.show();

Sebagai contoh saya menggunakan ukuran text 25

tv.setTextSize(25);

dan warna text red_dark

tv.setTextColor(android.R.color.holo_red_dark);

 

Selain menggunakan layout bawaan dari SDK, dapat juga menggunakan SpannableString. Berikut adalah contoh programnya:

SpannableString message = new SpannableString("Password yang Anda Masukkan Salah!");
message.setSpan(new RelativeSizeSpan(2f), 0, message.length(), 0);
message.setSpan(new ForegroundColorSpan(Color.RED), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
message.setSpan(new ForegroundColorSpan(Color.GREEN), 9, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
message.setSpan(new ForegroundColorSpan(Color.BLUE), 14, 15, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
message.setSpan(new ForegroundColorSpan(Color.YELLOW), 19, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
message.setSpan(new ForegroundColorSpan(Color.CYAN), 28, 29, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Toast.makeText(context, message, Toast.LENGTH_LONG).show();