Un brindis es un mensaje de retroalimentación. Se necesita muy poco espacio para mostrar, mientras que la actividad general es interactiva y visible para el usuario. Desaparece después de unos segundos. Desaparece automáticamente. Si el usuario quiere un mensaje visible permanente, se puede usar la notificación .
Toast desaparece automáticamente en función de la duración definida por el desarrollador. Los pasos para cambiar la fuente del mensaje del brindis son los siguientes:
- Paso 1: agregue botones en el archivo activity_main.xml para mostrar el mensaje de brindis con una fuente personalizada.
Abra el archivo activity_main.xml y cree un botón con id showToast.<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
RelativeLayout
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
tools:context
=
".MainActivity"
>
<!-- To show the Toolbar-->
<
android.support.v7.widget.Toolbar
android:id
=
"@+id/toolbar"
android:layout_width
=
"match_parent"
android:background
=
"@color/colorPrimary"
app:title
=
"GFG"
app:titleTextColor
=
"@android:color/white"
android:layout_height
=
"android:attr/actionBarSize"
/>
<!-- Button To show the toast message-->
<
Button
android:id
=
"@+id/showToast"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:text
=
"Show Toast"
android:layout_marginTop
=
"16dp"
android:padding
=
"8dp"
android:layout_below
=
"@id/toolbar"
android:layout_centerHorizontal
=
"true"
/>
</
RelativeLayout
>
- Paso 2: Abra el archivo styles.xml y agregue un nuevo estilo para el mensaje de brindis.
Abra el archivo style.xml y agregue el siguiente código. Aquí se utiliza la fuente sans-serif-black .
<!-- Toast Style -->
<
style
name
=
"toastTextStyle"
parent
=
"TextAppearance.AppCompat"
>
<
item
name
=
"android:fontFamily"
>sans-serif-black</
item
>
</
style
>
- Paso 3: Abra MainActivity.java y agregue la función para mostrar Toast personalizado.
Cree una nueva instancia de Toast usando el método makeText() . Use el método getView() para obtener la vista del Toast. Abra el archivo MainActivity.java y agregue la función para mostrar el mensaje de brindis.
private
void
showMessage(Boolean b, String msg)
{
// Creating new instance of Toast
Toast toast
= Toast.makeText(
MainActivity.
this
,
" "
+ msg +
" "
,
Toast.LENGTH_SHORT);
// Getting the View
View view = toast.getView();
// Finding the textview in Toast view
TextView text
= (TextView)view
.findViewById(
android.R.id.message);
// Setting the Text Appearance
if
(Build.VERSION.SDK_INT
>= Build.VERSION_CODES.M) {
text.setTextAppearance(
R.style.toastTextStyle);
}
// Showing the Toast Message
toast.show();
}
- Paso 4: configure OnClickListner en el botón y muestre el mensaje de brindis.
Para setOnclickListner(), primero cree una nueva instancia de la clase Button en el archivo Java y busque la vista del botón usando la identificación proporcionada en el archivo xml y llame al método setOnClickListener() en el objeto del botón.
// Finding the button
Button showToast
= findViewById(R.id.showToast);
// Setting the on click listener
showToast
.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v)
{
// Calling the function
// to show toast message
showMessage();
}
});
Finalmente los archivos son
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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"> <!-- To show the Toolbar--> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:background="@color/colorPrimary" app:title="GFG" app:titleTextColor="@android:color/white" android:layout_height="android:attr/actionBarSize"/> <!-- Button To show the toast message--> <Button android:id="@+id/showToast" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Show Toast" android:layout_marginTop="16dp" android:padding="8dp" android:layout_below="@id/toolbar" android:layout_centerHorizontal="true"/> </RelativeLayout>
styles.xml
<resources > <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <!-- Toast Style --> <style name="toastTextStyle" parent="TextAppearance.AppCompat"> <item name="android:fontFamily">sans-serif-black</item> </style> </resources>
MainActivity.java
package org.geeksforgeeks.customtoast; import android.os.Build; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Finding the button Button showToast = findViewById(R.id.showToast); // Setting the on click listener showToast.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showMessage(); } }); } private void showMessage() { // Creating new instance of Toast Toast toast = Toast.makeText( MainActivity.this, "GeeksForGeeks", Toast.LENGTH_SHORT); // Getting the View View view = toast.getView(); // Finding the textview in Toast view TextView text = (TextView)view.findViewById( android.R.id.message); // Setting the Text Appearance if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { text.setTextAppearance( R.style.toastTextStyle); } // Showing the Toast Message toast.show(); } }
Publicación traducida automáticamente
Artículo escrito por aman neekhara y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA