安卓 |如何更改 Toast 字体?
Toast是一条反馈消息。它只需要很少的空间来显示,而整个活动是交互式的并且对用户可见。它在几秒钟后消失。它会自动消失。如果用户想要永久可见的消息,可以使用通知。
Toast 会根据开发人员定义的 toast 长度自动消失。更改 toast 消息字体的步骤如下:
- 第 1 步:在activity_main.xml文件中添加一个按钮以使用自定义字体显示 toast 消息。
打开 activity_main.xml 文件并创建一个 ID为 showToast 的按钮。 - 第 2 步:打开styles.xml文件并为 toast 消息添加新样式。
打开 style.xml 文件并添加以下代码。这里使用的是sans-serif-black字体。
- 第 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 步:将 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();
}
}
输出: