Saya baru mengenal pemrograman Android. Apa contoh sederhana yang menunjukkan pemberitahuan toast khusus di Android?
Saya baru mengenal pemrograman Android. Apa contoh sederhana yang menunjukkan pemberitahuan toast khusus di Android?
Jawaban:
Gunakan kode di bawah ini dari Toast kustom. Ini dapat membantu Anda.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_layout_root"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:background="#DAAA" >
<ImageView android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginRight="10dp" />
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textColor="#FFF" />
</LinearLayout>
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout,
(ViewGroup) findViewById(R.id.toast_layout_root));
ImageView image = (ImageView) layout.findViewById(R.id.image);
image.setImageResource(R.drawable.android);
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Hello! This is a custom toast!");
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
Dan lihat tautan di bawah ini juga untuk Toast khusus.
Toast Kustom dengan Jam Analog
YouTube: Membuat Toast Kustom Dengan Tombol di Android Studio
Bersulang adalah untuk menampilkan pesan dalam interval waktu yang singkat; Jadi, sesuai pemahaman saya, Anda ingin menyesuaikannya dengan menambahkan gambar ke dalamnya dan mengubah ukuran, warna teks pesan. Jika hanya itu yang ingin Anda lakukan, tidak perlu membuat tata letak terpisah dan memekarnya ke instance Toast.
Tampilan Toast default berisi TextView
untuk menampilkan pesan di dalamnya. Jadi, jika kita memiliki referensi id sumber daya itu TextView
, kita bisa bermain dengannya. Jadi di bawah ini adalah apa yang dapat Anda lakukan untuk mencapai ini:
Toast toast = Toast.makeText(this, "I am custom Toast!", Toast.LENGTH_LONG);
View toastView = toast.getView(); // This'll return the default View of the Toast.
/* And now you can get the TextView of the default View of the Toast. */
TextView toastMessage = (TextView) toastView.findViewById(android.R.id.message);
toastMessage.setTextSize(25);
toastMessage.setTextColor(Color.RED);
toastMessage.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_fly, 0, 0, 0);
toastMessage.setGravity(Gravity.CENTER);
toastMessage.setCompoundDrawablePadding(16);
toastView.setBackgroundColor(Color.CYAN);
toast.show();
Dalam kode di atas, Anda dapat melihat, Anda dapat menambahkan gambar ke TextView melalui setCompoundDrawablesWithIntrinsicBounds(int left, int top, int right, int bottom)
posisi mana pun yang relatif terhadap TextView yang Anda inginkan.
Memperbarui:
Telah menulis kelas pembangun untuk menyederhanakan tujuan di atas; Ini tautannya: https://gist.github.com/TheLittleNaruto/6fc8f6a2b0d0583a240bd78313ba83bc
Cek HowToUse.kt
di link di atas.
Keluaran:
TextView
harus ada di sana, hanya untuk aman dan dengan cek, maksud saya cek nol atau cek tipe. Untuk berjaga-jaga, google memutuskan untuk mengubah id atau tampilan untuk menampilkan teks di kelas Toast. Pokoknya ... +1
LANGKAH 1:
Pertama buat tata letak untuk roti panggang khusus di res/layout/custom_toast.xml
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom_toast_layout_id"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFF"
android:orientation="horizontal"
android:padding="5dp" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#000" />
</LinearLayout>
LANGKAH 2: Dalam kode Aktivitas, dapatkan tampilan khusus di atas dan lampirkan ke Toast:
// Get your custom_toast.xml ayout
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,
(ViewGroup) findViewById(R.id.custom_toast_layout_id));
// set a message
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Button is clicked!");
// Toast...
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
Untuk bantuan lebih lanjut, lihat cara kami Membuat Toast khusus di Android:
http://developer.android.com/guide/topics/ui/notifiers/toasts.html
Lihat tautan di sini . Anda menemukan solusi Anda. Dan coba:
Membuat Tampilan Toast Kustom
Jika pesan teks sederhana tidak cukup, Anda dapat membuat tata letak yang disesuaikan untuk pemberitahuan toast Anda. Untuk membuat tata letak kustom, tentukan tata letak View, dalam XML atau dalam kode aplikasi Anda, dan teruskan objek View root ke metode setView (View).
Misalnya, Anda dapat membuat tata letak untuk roti panggang yang terlihat di tangkapan layar di sebelah kanan dengan XML berikut (disimpan sebagai toast_layout.xml):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_layout_root"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:background="#DAAA"
>
<ImageView android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="10dp"
/>
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#FFF"
/>
</LinearLayout>
Perhatikan bahwa ID elemen LinearLayout adalah "toast_layout". Anda harus menggunakan ID ini untuk memekarkan tata letak dari XML, seperti yang ditunjukkan di sini:
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout,
(ViewGroup) findViewById(R.id.toast_layout_root));
ImageView image = (ImageView) layout.findViewById(R.id.image);
image.setImageResource(R.drawable.android);
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Hello! This is a custom toast!");
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
Pertama, ambil LayoutInflater dengan getLayoutInflater () (atau getSystemService ()), lalu perbesar tata letak dari XML menggunakan inflate (int, ViewGroup). Parameter pertama adalah ID resource layout dan yang kedua adalah View root. Anda bisa menggunakan layout yang diperbesar ini untuk menemukan lebih banyak objek View dalam layout, jadi sekarang tangkap dan tentukan konten untuk elemen ImageView dan TextView. Terakhir, buat Toast baru dengan Toast (Konteks) dan setel beberapa properti toast, seperti gravitasi dan durasi. Kemudian panggil setView (View) dan teruskan layout yang digelembungkan. Anda sekarang bisa menampilkan toast dengan tata letak kustom Anda dengan memanggil show ().
Catatan: Jangan gunakan konstruktor publik untuk Toast kecuali Anda akan mendefinisikan layout dengan setView (View). Jika Anda tidak memiliki tata letak khusus untuk digunakan, Anda harus menggunakan makeText (Context, int, int) untuk membuat Toast.
Tata letak kustom untuk roti panggang, custom_toast.xml
:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Custom Toast"
android:gravity="center"
android:id="@+id/custom_toast_text"
android:typeface="serif"
android:textStyle="bold"
/>
</LinearLayout>
Dan metode Java (cukup berikan pesan roti panggang ke metode ini):
public void toast(String message)
{
Toast toast = new Toast(context);
View view = LayoutInflater.from(context).inflate(R.layout.image_custom, null);
TextView textView = (TextView) view.findViewById(R.id.custom_toast_text);
textView.setText(message);
toast.setView(view);
toast.setGravity(Gravity.BOTTOM|Gravity.CENTER, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.show();
}
Anda dapat mengunduh kode di sini .
Langkah 1:
<?xml version="1.0" encoding="utf-8"?>
<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=".MainActivity">
<Button
android:id="@+id/btnCustomToast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Custom Toast" />
</RelativeLayout>
Langkah 2:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/custom_toast_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"/>
<TextView
android:id="@+id/custom_toast_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My custom Toast Example Text" />
</LinearLayout>
Langkah 3:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private Button btnCustomToast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnCustomToast= (Button) findViewById(R.id.btnCustomToast);
btnCustomToast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Find custom toast example layout file
View layoutValue = LayoutInflater.from(MainActivity.this).inflate(R.layout.android_custom_toast_example, null);
// Creating the Toast object
Toast toast = new Toast(getApplicationContext());
toast.setDuration(Toast.LENGTH_SHORT);
// gravity, xOffset, yOffset
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setView(layoutValue);//setting the view of custom toast layout
toast.show();
}
});
}
}
Saya pikir sebagian besar contoh xml customtoast di seluruh Internet didasarkan pada sumber yang sama.
Dokumentasi Android, menurut saya sudah sangat usang. fill_parent tidak boleh digunakan lagi. Saya lebih suka menggunakan wrap_content yang dikombinasikan dengan xml.9.png. Dengan begitu, Anda dapat menentukan ukuran minimum toastbackground di seluruh ukuran sumber yang diberikan.
Jika toast yang lebih kompleks diperlukan, bingkai atau tata letak relatif harus digunakan sebagai ganti LL.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/points_layout"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background"
android:layout_gravity="center"
android:gravity="center" >
<TextView
android:id="@+id/points_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_margin="15dp"
android:text="@+string/points_text"
android:textColor="@color/Green" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<nine-patch
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/background_96"
android:dither="true"/>
background_96 adalah background_96.9.png.
Ini tidak diuji dengan baik, dan petunjuk sangat dihargai :)
Untuk menghindari masalah dengan layout_ * params yang tidak digunakan dengan benar, Anda perlu memastikan bahwa saat Anda memekarkan tata letak kustom, Anda menentukan ViewGroup yang benar sebagai induk.
Banyak contoh memberikan null di sini, tetapi Anda dapat meneruskan Toast ViewGroup yang ada sebagai orang tua Anda.
val toast = Toast.makeText(this, "", Toast.LENGTH_LONG)
val layout = LayoutInflater.from(this).inflate(R.layout.view_custom_toast, toast.view.parent as? ViewGroup?)
toast.view = layout
toast.show()
Di sini kami mengganti tampilan Toast yang ada dengan tampilan kustom kami. Setelah Anda memiliki referensi ke tata letak "tata letak", Anda kemudian dapat memperbarui setiap tampilan gambar / teks yang mungkin ada di dalamnya.
Solusi ini juga mencegah crash "Tampilan tidak dilampirkan ke window manager" menggunakan null sebagai induk.
Selain itu, hindari menggunakan ConstraintLayout sebagai root layout kustom Anda, ini tampaknya tidak berfungsi saat digunakan di dalam Toast.
Ini yang saya gunakan
public static Toast displayCustomToast(FragmentActivity mAct, String toastText, String toastLength, String succTypeColor) {
final Toast toast;
if (toastLength.equals("short")) {
toast = Toast.makeText(mAct, toastText, Toast.LENGTH_SHORT);
} else {
toast = Toast.makeText(mAct, toastText, Toast.LENGTH_LONG);
}
View tView = toast.getView();
tView.setBackgroundColor(Color.parseColor("#053a4d"));
TextView mText = (TextView) tView.findViewById(android.R.id.message);
mText.setTypeface(applyFont(mAct));
mText.setShadowLayer(0, 0, 0, 0);
tView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toast.cancel();
}
});
tView.invalidate();
if (succTypeColor.equals("red")) {
mText.setTextColor(Color.parseColor("#debe33"));
tView.setBackground(mAct.getResources().getDrawable(R.drawable.toast_rounded_red));
// this is to show error message
}
if (succTypeColor.equals("green")) {
mText.setTextColor(Color.parseColor("#053a4d"));
tView.setBackground(mAct.getResources().getDrawable(R.drawable.toast_rounded_green));
// this is to show success message
}
return toast;
}
Saat menelepon, tulis saja di bawah ini.
AllMethodsInOne.displayCustomToast(act, "This is custom toast", "long", "red").show();
Kode untuk file MainActivity.java.
package com.android_examples.com.toastbackgroundcolorchange;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
Button BT;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BT = (Button)findViewById(R.id.button1);
BT.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast ToastMessage = Toast.makeText(getApplicationContext(),"Change Toast Background color",Toast.LENGTH_SHORT);
View toastView = ToastMessage.getView();
toastView.setBackgroundResource(R.layout.toast_background_color);
ToastMessage.show();
}
});
}
}
Kode untuk file tata letak activity_main.xml.
<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.android_examples.com.toastbackgroundcolorchange.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="CLICK HERE TO SHOW TOAST MESSAGE WITH DIFFERENT BACKGROUND COLOR INCLUDING BORDER" />
</RelativeLayout>
Kode untuk file layout toast_background_color.xml dibuat di folder res-> layout.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke
android:width="3dp"
android:color="#ffffff" ></stroke>
<padding android:left="20dp" android:top="20dp"
android:right="20dp" android:bottom="20dp" />
<corners android:radius="10dp" />
<gradient android:startColor="#ff000f"
android:endColor="#ff0000"
android:angle="-90"/>
</shape>
// Kelas roti panggang khusus tempat Anda dapat menampilkan roti panggang khusus atau default sesuai keinginan)
public class ToastMessage {
private Context context;
private static ToastMessage instance;
/**
* @param context
*/
private ToastMessage(Context context) {
this.context = context;
}
/**
* @param context
* @return
*/
public synchronized static ToastMessage getInstance(Context context) {
if (instance == null) {
instance = new ToastMessage(context);
}
return instance;
}
/**
* @param message
*/
public void showLongMessage(String message) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
/**
* @param message
*/
public void showSmallMessage(String message) {
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
}
/**
* The Toast displayed via this method will display it for short period of time
*
* @param message
*/
public void showLongCustomToast(String message) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
View layout = inflater.inflate(R.layout.layout_custom_toast, (ViewGroup) ((Activity) context).findViewById(R.id.ll_toast));
TextView msgTv = (TextView) layout.findViewById(R.id.tv_msg);
msgTv.setText(message);
Toast toast = new Toast(context);
toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
}
/**
* The toast displayed by this class will display it for long period of time
*
* @param message
*/
public void showSmallCustomToast(String message) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
View layout = inflater.inflate(R.layout.layout_custom_toast, (ViewGroup) ((Activity) context).findViewById(R.id.ll_toast));
TextView msgTv = (TextView) layout.findViewById(R.id.tv_msg);
msgTv.setText(message);
Toast toast = new Toast(context);
toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();
}
}
Cara Sederhana untuk Menyesuaikan Toast,
private void MsgDisplay(String Msg, int Size, int Grav){
Toast toast = Toast.makeText(this, Msg, Toast.LENGTH_LONG);
TextView v = (TextView) toast.getView().findViewById(android.R.id.message);
v.setTextColor(Color.rgb(241, 196, 15));
v.setTextSize(Size);
v.setGravity(Gravity.CENTER);
v.setShadowLayer(1.5f, -1, 1, Color.BLACK);
if(Grav == 1){
toast.setGravity(Gravity.BOTTOM, 0, 120);
}else{
toast.setGravity(Gravity.BOTTOM, 0, 10);
}
toast.show();
}
Untuk semua Pengguna Kotlin
Anda dapat membuat Ekstensi seperti berikut:
fun FragmentActivity.showCustomToast(message : String,color : Int) {
val toastView = findViewById<TextView>(R.id.toast_view)
toastView.text = message
toastView.visibility = View.VISIBLE
toastView.setBackgroundColor(color)
// create a daemon thread
val timer = Timer("schedule", true)
// schedule a single event
timer.schedule(2000) {
runOnUiThread { toastView.visibility = View.GONE }
}
}
Sangat mudah untuk membuat kebiasaan kita sendiri Toast
.
Ikuti saja langkah-langkah di bawah ini.
Langkah 1
Buat tata letak kustom yang Anda inginkan
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/black"
android:orientation="vertical"
android:padding="@dimen/size_10dp"
app:cardCornerRadius="@dimen/size_8dp"
app:cardElevation="@dimen/size_8dp">
<TextView
android:id="@+id/txt_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/size_12dp"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="@dimen/text_size_16sp"
tools:text="Hello Test!!" />
</androidx.cardview.widget.CardView>
Langkah 2
Sekarang buat kelas kustom yang diperluas dengan Toast
.
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.shop.shoppinggare.R;
import org.apache.commons.lang3.StringUtils;
import org.w3c.dom.Text;
public class CustomToast extends Toast {
private Context context;
private String message;
public CustomToast(Context context, String message) {
super(context);
this.context = context;
this.message = message;
View view = LayoutInflater.from(context).inflate(R.layout.toast_custom, null);
TextView txtMsg = view.findViewById(R.id.txt_message);
txtMsg.setText(StringUtils.capitalize(message));
setView(view);
setDuration(Toast.LENGTH_LONG);
}
}
Kami telah membuat roti panggang khusus.
Langkah-3
Sekarang, akhirnya, bagaimana kita bisa menggunakannya.
new CustomToast(contex,"message").show();
Nikmati!!
Toast kustom dari latar belakang diblokir, Android 11 melindungi pengguna dengan menghentikan tampilan roti panggang kustom. Demi alasan keamanan dan untuk mempertahankan pengalaman pengguna yang baik, sistem memblokir toast yang berisi tampilan khusus jika toast tersebut dikirim dari latar belakang oleh aplikasi yang menargetkan Android 11.
Metode addCallback () ditambahkan di Android R Jika Anda ingin diberi tahu saat toast (teks atau kustom) muncul atau menghilang.
Teks paling penting dalam toast API mengubah bahwa untuk aplikasi yang menargetkan Android 11 , getView()
metode ini mengembalikan nol saat Anda mengaksesnya, Jadi, pastikan untuk melindungi aplikasi Anda dari PENGECUALIAN FATAL, Anda tahu maksud saya :)
Menggunakan pustaka bernama Toasty, saya pikir Anda memiliki cukup fleksibilitas untuk membuat roti panggang yang disesuaikan dengan pendekatan berikut -
Toasty.custom(yourContext, "I'm a custom Toast", yourIconDrawable, tintColor, duration, withIcon,
shouldTint).show();
Anda juga dapat mengirimkan teks yang diformat ke Toasty dan ini cuplikan kodenya
val inflater = layoutInflater
val container: ViewGroup = findViewById(R.id.custom_toast_container)
val layout: ViewGroup = inflater.inflate(R.layout.custom_toast, container)
val text: TextView = layout.findViewById(R.id.text)
text.text = "This is a custom toast"
with (Toast(applicationContext)) {
setGravity(Gravity.CENTER_VERTICAL, 0, 0)
duration = Toast.LENGTH_LONG
view = layout
show()
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom_toast_container"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="8dp"
android:background="#DAAA"
>
<ImageView android:src="@drawable/droid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
/>
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFF"
/>
</LinearLayout>
Referensi: https://developer.android.com/guide/topics/ui/notifiers/toasts