2018-11-22 Toast的自定义

提莫队长正在待命!——Toast的自定义

预期目标效果如图:提莫队长正在送命!


image.png

FirstBlood:自定义圆角背景
新建一个xml:bg_Toast.xml:



    
    
    
    
    
    
    
    

DoubleKill:设计布局文件
新建一个layout下的xml:timo.xml




    

    


TrebleKill:再定义一个layout来使用和显示Toast。
先来一个button:

 

在相应的java文件中初始化这个button,并监听点击事件。


public class tryActivityextends Activityimplements View.OnClickListener {

    private Buttonbtn_Toast1;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_try);

        initToastTest();

    }

private void initToastTest() {

btn_Toast1=(Button)findViewById(R.id.btn_toast1);

        btn_Toast1.setOnClickListener(this);

    }

@Override

    public void onClick(View view) {

switch (view.getId()){

case R.id.btn_toast1:

Toast.makeText(this,"提莫队长正在待命!",Toast.LENGTH_SHORT).show();
/*这个地方待会儿可以替换为tryToast("提莫队长正在待命!");*/

break;

                default:

Log.i(TAG, "onClick: ");

break;

        }

}

}

咦!好像不对啊,这更我们之前的操作没有关系嘛!
稍等,提莫队长正在待命!我们还需要将自定义的timo.xml与点击动作绑定在一起!

搞一个新的方法,将Toast操作封装在里面。我们只需要传入值就可以完成Toast操作啦!


private void tryToast(String str)

{

LayoutInflater inflater = getLayoutInflater();

        View view = inflater.inflate(R.layout.timo,

                (ViewGroup) findViewById(R.id.lt_timo));

        TextView tv_msg = (TextView) view.findViewById(R.id.tv_msg);

        tv_msg.setText(str);

        Toast toast =new Toast(this);

        toast.setGravity(Gravity.CENTER, 0, 0);

        toast.setDuration(Toast.LENGTH_SHORT);

        toast.setView(view);

        toast.show();

    }

最后!完成了上面的操作,提莫队长就随时待命啦!

附提莫队长图:

image

谢谢大家,不喜勿喷,以上内容参考菜鸟教程。

你可能感兴趣的:(2018-11-22 Toast的自定义)