自定義Toast樣式,位置

Android自帶的Toast效果實在是不敢恭維,沒辦法,本身動手豐衣足食,想定義什麼樣的就定義什麼樣的,有技術就是任性,接下來自定義Toast步驟:
1,新建Toast對象:佈局

//獲取toast對象
            Toast toast = new Toast(mContext);

2,利用layoutInflater獲取viewspa

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

3,設置toast的佈局:code

//設置toast的佈局
            toast.setView(view);

4,設置toast的顯示時間:對象

//設置toast的顯示時間LENGTH_LONG或者LENGTH_SHORT
            toast.setDuration(Toast.LENGTH_LONG);

5,呈現出toast:get

//展現toast
            toast.show();

至此,toast自定義結束,讓你們看一看效果圖:

在第2步時我進行控件的綁定以及操做,實現toast佈局中控件的動態改變,代碼以下:it

//獲取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的位置:
調用 的方法是:io

setGravity(int gravity, int xOffset, int yOffset)
//自定義toast彈出位置,<span style="font-family:KaiTi_GB2312;">如今處於手機屏幕中央</span>
            toast.setGravity(0,0,0);

效果圖如上圖ast

//自定義toast彈出位置,x軸方向上偏移200
            toast.setGravity(0,200,0);

效果圖以下
方法

//自定義toast彈出位置,x軸方向上偏移100
            toast.setGravity(0,100,0);

效果圖以下,對比兩個圖就能夠發現偏移量是從gravity 的位置開始算起,y軸上方偏移量相似,再也不贅述
im

相關文章
相關標籤/搜索