Toast是app常用彈出資訊的工具,下面介紹一下用法。
一、直接調用Toast類的makeText()方法建立,下面一段代碼,是一般常用的寫法,有三個參數,
- 第一個是:context(上下文),一般在Activity是傳入this就行了,也可以獲得context的方法
- 第二個是:字元串類型的值代表你要彈出的消息
- 第三個是:顯示的時間,在Toast有兩個靜态常量的可選值Toast.LENGTH_SHORT和Toast.LENGTH_LONG,或者可以自己輸入值1000/2000(代表1s/2s)
Toast.makeText(getApplicationContext(),"彈出的消息",Toast.LENGTH_SHORT).show();
二、我們還可以設定一些别的屬性,例如:顯示的位置和字型的顔色
public class MainActivity extends AppCompatActivity {
private Button show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View viewById = findViewById(R.id.show);
viewById.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
midToast("你好",2000);
}
});
}
public void midToast(String text,int showTime){
Toast toast = Toast.makeText(this,text,showTime);
toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL, 0, 0); //設定顯示位置
TextView message = toast.getView().findViewById(android.R.id.message);
message.setTextColor(Color.YELLOW); //設定字型顔色
toast.show();
}
}
效果
上面給一個buttom設定了一個監聽,還定義了一個方法,方法中Toast.makeText了一段話,接着設定了Gravity(重力):水準或垂直居中,再通過toast可以獲得一個視圖,通過視圖可以獲得一個message的TextView之後你就可以操作TextView了,最後記得.show()顯示出來。
三、我們再推進一下,還可以放一張圖檔
代碼
public void midToast(String text,int showTime){
Toast toast = Toast.makeText(this,text,showTime);
toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL, 0, 0); //設定顯示位置
LinearLayout layout = (LinearLayout) toast.getView(); //強轉成LinearLayout
ImageView imageView = new ImageView(this); //定義一個圖檔視圖,需要一個上下文
imageView.setImageResource(R.mipmap.ic_launcher); //設定圖檔
layout.addView(imageView); //把圖檔添加進去
TextView message = toast.getView().findViewById(android.R.id.message);
message.setTextColor(Color.YELLOW); //設定字型顔色
toast.show();
}
效果