📜  安卓 |如何更改 Toast 字体?

📅  最后修改于: 2022-05-13 01:54:59.891000             🧑  作者: Mango

安卓 |如何更改 Toast 字体?

Toast是一条反馈消息。它只需要很少的空间来显示,而整个活动是交互式的并且对用户可见。它在几秒钟后消失。它会自动消失。如果用户想要永久可见的消息,可以使用通知

Toast 会根据开发人员定义的 toast 长度自动消失。更改 toast 消息字体的步骤如下:

  1. 第 1 步:activity_main.xml文件中添加一个按钮以使用自定义字体显示 toast 消息。
    打开 activity_main.xml 文件并创建一个 ID为 showToast 的按钮。
    
    
      
        
        
      
        
      
        
  2. 第 2 步:打开styles.xml文件并为 toast 消息添加新样式。

    打开 style.xml 文件并添加以下代码。这里使用的是sans-serif-black字体。

    
    
    
  3. 第 3 步:打开MainActivity。 Java并添加函数以显示自定义Toast。

    使用makeText()方法创建一个新的 Toast 实例。使用 getView() 方法获取 Toast 的视图。打开主活动。 Java文件并添加函数以显示 toast 消息。

    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();
    }
    
  4. 第 4 步:将 OnClickListner设置为按钮并显示 toast 消息。

    setOnclickListner()首先在Java文件中创建 Button 类的新实例,并使用 xml 文件中给出的 id 找到按钮视图,然后在按钮对象上调用 setOnClickListener() 方法。

    // 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();
                }
            });
    

最后文件是

activity_main.xml

  

  
    
    
  
    
  
    


styles.xml

  
    
    
  
    
    


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();
    }
}


输出: