如果产品做的很好,一定是细节做的很好,大家平时做项目时,对toast一定不陌生,现在分析一个场景,比如点击一个Button,当这个activity被finish()掉的时候,Toast一定弹出的状态,有的时候对用户就产生了困扰,可能我们程序员知道,但用户毕竟不懂开发,所以我们要对Toast进行封装下,当activity退出的时候,取消了Toast的弹框,
MyToast .java
public class MyToast {
Context mContext;
Toast mToast;
public MyToast(Context context) {
mContext = context;
mToast = Toast.makeText(context, "", Toast.LENGTH_SHORT);
mToast.setGravity(17, 0, -30);//居中显示
}
public void show(int resId, int duration) {
show(mContext.getText(resId), duration);
}
public void show(CharSequence s, int duration) {
mToast.setDuration(duration);
mToast.setText(s);
mToast.show();
}
public void cancel() {
mToast.cancel();
}
}
public class MainActivity extends Activity {
MyToast toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toast = new MyToast(this);
toast.show("toast", 10);
}
@Override
protected void onPause() {
super.onPause();
toast.cancel();
}
}