改变自己——Toast的化妆课

Toast是Android一开始就出现的,给人们一个提示作用,一般用于提示用户等信息,在Design风格Snackbar出现前,是一种常见的提示方式,现在还有许多程序在用这种提示方式,不过随着人们手机的普遍存在,审美观点的提高,很多人都感觉那个Toast太过于丑化了。所以才有现在的Toast化妆课,改变Toast的出现

简单的Toast的效果:

这里写图片描述

感觉背景黑色好难看呀,而且平白无故的在下方出现一个黑色的小方框确实挺别扭的,现在改变下背景色

这里写图片描述

代码如下:

Toast toast=Toast.makeText(MainActivity.this,"这是一个改变背景的Toast",Toast.LENGTH_LONG);
View view=toast.getView();
view.setBackgroundColor(Color.BLUE);
toast.setView(view);
toast.show();

感觉就算将背景改为蓝色,也显得比较突兀,所以有没有方法将背景改为透明色呢?

这里写图片描述

代码如下:

Toast toast=Toast.makeText(MainActivity.this,"这是一个改变背景的Toast",Toast.LENGTH_LONG);
View view=toast.getView();
view.setBackground(null);
view.setAlpha(1);
toast.setView(view);
toast.show();

setAlpha()可以根据自己的意愿来填写,随意更改数据。

背景是透明色了,关键文字也是白色呀,没有全部强调的效果,将字体颜色改为黑色

这里写图片描述

代码如下:

Toast toast=Toast.makeText(MainActivity.this,"这是一个改变字体颜色Toast",Toast.LENGTH_LONG);
LinearLayout view=(LinearLayout)toast.getView();
view.setBackground(null);
view.setAlpha(1);
TextView textView= (TextView) view.getChildAt(0);
textView.setTextColor(Color.BLACK);
toast.setView(view);
toast.show();

字体颜色满意了?想让Toast不在下面显示,那在哪里?

这里写图片描述

Toast toast=Toast.makeText(MainActivity.this,"这是一个改变背景的Toast",Toast.LENGTH_LONG);
LinearLayout view=(LinearLayout)toast.getView();
view.setBackground(null);
view.setAlpha(1);
TextView textView= (TextView) view.getChildAt(0);
textView.setTextColor(Color.BLACK);
toast.setGravity(Gravity.TOP,0,0);
toast.setView(view);
toast.show();

这里注意啦!注意啦!注意啦!,上方这个修改位置的setGravity是设置在Toast对象上的,其他的都是设置在Toast对象里面的View里面的。因为我只是简单的设置,如果这个效果不合你的心意,你可以设置第二个,第三个参数。

上面的化妆课还满意吗?不满意?在不同的手机上,Toast的风格也不一样,有的是圆角的背景边框,有的是直接的边框,我还希望Toast的内容更多一点,那应该怎么办呢?

这里写图片描述

代码如下:

Toast toast=Toast.makeText(MainActivity.this,"这是一个改变背景的Toast",Toast.LENGTH_LONG);
View view=LayoutInflater.from(MainActivity.this).inflate(R.layout.activity_item,null);
toast.setGravity(Gravity.CENTER,0,0);
toast.setView(view);
toast.show();

使用这种方式可以实现各种方式的适配。而且实现你想要的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值