Vous êtes sur la page 1sur 9

Créer un Android Toast personnalisé

View more Tutorials:

Tutoriels de programmation Android

1. Custom Toast
2. Exemple de Toast personnalisé

Suivez-nous sur notre fanpage pour recevoir des notifications chaque fois qu'il y a de nouveaux
articles. Facebook

1- Custom Toast

“ Android Toast
2- Exemple de Toast personnalisé

Sur Android Studio, créez un nouveau projet:

File > New > New Project > Empty Activity


Name: CustomToastExample
Package name: org.o7planning.customtoastexample
Language: Java

Copiez une icône (icon_info.png) dans le répertoire drawable du projet.


Dans cet exemple, je vais utiliser le "Resource Layout File" pour concevoir l'interface
pour Toast, vous pouvez également créer l'interface pour Toast entièrement avec du
code Java (voir plus dans l'exemple).

OK, faites un clic droit sur le dossier "layout" et choisissez:

New > Layout Resource File

File name: layout_custom_toast.xml


Root element: LinearLayout
Source set: main
Directory name: layout
Et maintenant, vous pouvez concevoir l'interface de Toast.

Définissez ID, Text, Padding, layout_weight pour les éléments de l'interface:


layout_custom_toast.xml

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:padding="10sp">

<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:paddingRight="10sp"
app:srcCompat="@drawable/icon_info" />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Message" />
</LinearLayout>

L'interface principale de l'application:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<androidx.constraintlayout.widget.ConstraintLayout
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="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/button_show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="Show Custom Toast"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

package org.o7planning.customtoastexample;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

private Button buttonShow;

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

this.buttonShow = (Button) this.findViewById(R.id.button_show);


this.buttonShow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
buttonShowClicked();
}
});
}

// Create Toast with "Resource Layout File".


private void buttonShowClicked() {
LayoutInflater inflater = this.getLayoutInflater();

View layout = inflater.inflate(R.layout.layout_custom_toast, null);


// TextView in layout_custom_toast.
TextView textView = (TextView) layout.findViewById(R.id.textView);
textView.setText("This is a message");
textView.setTextColor(Color.BLUE);
// Create Toast
Toast toast = new Toast(this);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
}

// Create Toast without "Resource Layout File".


private void buttonShowClicked2() {
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.HORIZONTAL);
layout.setPadding(10,10, 10, 10);
//
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.icon_info);
imageView.setPadding(0, 0, 10, 0);
//
TextView textView = new TextView(this);
textView.setTextColor(Color.BLUE);
textView.setText("This is a message");

LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(


LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT,0);
layout.addView(imageView, params1);

LinearLayout.LayoutParams params2 = new LinearLayout.LayoutParams(


LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT,1);
layout.addView(textView, params2);

// Create Toast
Toast toast = new Toast(this);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
}
}

View more Tutorials:

Tutoriels de programmation Android

Peut-être que vous êtes intéressé

Voici des leçons en ligne à part du site web o7planning que nous recommandons. La liste
comprend des leçons en ligne et celles en promo.

devstory.net

Fanpages

Facebook

Websites

o7planning.org
devstory.net
codestory.de
betacode.net
openplanning.net

About Us

Le site Web a été créé en mars 2014 par un groupe de programmeurs et d'auteurs du
Vietnam. Actuellement, le projet prend en charge 5 langues, dont l'anglais, le français,
l'allemand, le russe et le vietnamien

Vous aimerez peut-être aussi