自定义Toast样式,位置

Android自带的Toast效果实在是不敢恭维,没办法,自己动手丰衣足食,想定义什么样的就定义什么样的,有技术就是任性,接下来自定义Toast步骤:

1,新建Toast对象:

         //获取toast对象
            Toast toast = new Toast(mContext);

2,利用layoutInflater获取view
//利用inflate方法获取到view
            View view = LayoutInflater.from(mContext).inflate(R.layout.layout_toast,null);

3,设置toast的布局:
//设置toast的布局
            toast.setView(view);

4,设置toast的显示时间:
//设置toast的显示时间LENGTH_LONG或者LENGTH_SHORT
            toast.setDuration(Toast.LENGTH_LONG);

5,呈现出toast:
//展示toast
            toast.show();

至此,toast自定义结束,让大家看一看效果图:




在第2步时我进行控件的绑定以及操作,实现toast布局中控件的动态改变,代码如下:

//获取activity中输入框的内容
            String mBtnStr = mEditBtn.getText().toString().trim();
            String mContentStr = mEditContent.getText().toString().trim();

//绑定控件,并填充内容
            mToastBtn = (Button) view.findViewById(R.id.btn);
            mToastContent = (TextView) view.findViewById(R.id.tv);
            mToastSeekBar = (SeekBar) view.findViewById(R.id.seekBar);
            mToastSeekBar.setMax(1000);
            mToastSeekBar.setProgress(40);
//若获取到的内容为空,则显示默认的textview或者button</span>
            mToastContent.setText(mContentStr.isEmpty() ? "textView" : mContentStr);
            mToastBtn.setText(mBtnStr.isEmpty() ? "button" : mBtnStr);

更改toast中textview和button值的效果图如下:


在呈现toast之前,可以去设置toast的位置:

调用 的方法是:

setGravity(int gravity, int xOffset, int yOffset)

//自定义toast弹出位置,<span style="font-family:KaiTi_GB2312;">现在处于手机屏幕中央</span>
            toast.setGravity(0,0,0);
效果图如上图
//自定义toast弹出位置,x轴方向上偏移200
            toast.setGravity(0,200,0);

效果图如下


//自定义toast弹出位置,x轴方向上偏移100
            toast.setGravity(0,100,0);
效果图如下,对比两个图就可以发现偏移量是从gravity 的位置开始算起,y轴上方偏移量类似,不再赘述






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值