/* * 獲取圣誕框的窗口對象及參數(shù)對象以修改對話框的布局設(shè)置,
* 可以直接調(diào)用getWindow(),表示獲得這個(gè)Activity的Window
*對象,這樣這可以以同樣的方式改變這個(gè)Activity的屬性.*/
Window dialogWindow = dialog.getWindow();
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
dialogWindow.setGravity(Gravity.LEFT | Gravity.TOP);
/** lp.x與lp.y表示相對于原始位置的偏移.
* 當(dāng)參數(shù)值包含Gravity.LEFT時(shí),對話框出現(xiàn)在左邊,所以lp.x就表示相對左邊的偏移,負(fù)值忽略.
* 當(dāng)參數(shù)值包含Gravity.RIGHT時(shí),對話框出現(xiàn)在右邊,所以lp.x就表示相對右邊的偏移,負(fù)值忽略.
* 當(dāng)參數(shù)值包含Gravity.TOP時(shí),對話框出現(xiàn)在上邊,所以lp.y就表示相對上邊的偏移,負(fù)值忽略.
* 當(dāng)參數(shù)值包含Gravity.BOTTOM時(shí),對話框出現(xiàn)在下邊,所以lp.y就表示相對下邊的偏移,負(fù)值忽略.
* 當(dāng)參數(shù)值包含Gravity.CENTER_HORIZONTAL時(shí)
* ,對話框水平居中,所以lp.x就表示在水平居中的位置移動lp.x像素,正值向右移動,負(fù)值向左移動.
* 當(dāng)參數(shù)值包含Gravity.CENTER_VERTICAL時(shí)
* ,對話框垂直居中,所以lp.y就表示在垂直居中的位置移動lp.y像素,正值向右移動,負(fù)值向左移動.
* gravity的默認(rèn)值為Gravity.CENTER,即Gravity.CENTER_HORIZONTAL |* Gravity.CENTER_VERTICAL.
* 本來setGravity的參數(shù)值為Gravity.LEFT | Gravity.TOP時(shí)對話框應(yīng)出現(xiàn)在程序的左上角,但在
* 我手機(jī)上測試時(shí)發(fā)現(xiàn)距左邊與上邊都有一小段距離,而且垂直坐標(biāo)把程序標(biāo)題欄也計(jì)算在內(nèi)了,
* Gravity.LEFT, Gravity.TOP, Gravity.BOTTOM與Gravity.RIGHT都是如此,據(jù)邊界有一小段距離*/
lp.x = 100; // 新位置X坐標(biāo)
lp.y = 100; // 新位置Y坐標(biāo)
lp.width = 300; // 寬度
lp.height = 300; // 高度
lp.alpha = 0.7f; // 透明度
// 當(dāng)Window的Attributes改變時(shí)系統(tǒng)會調(diào)用此函數(shù),可以直接調(diào)用以應(yīng)用上面對窗口參數(shù)的更改,也可以用setAttributes
// dialog.onWindowAttributesChanged(lp); dialogWindow.setAttributes(lp);
/** 將對話框的大小按屏幕大小的百分比設(shè)置*/
// WindowManager m = getWindowManager();
// Display d = m.getDefaultDisplay();
// 獲取屏幕寬、高用
// WindowManager.LayoutParams p = dialogWindow.getAttributes();
// 獲取對話框當(dāng)前的參數(shù)值
// p.height = (int) (d.getHeight() * 0.6);
// 高度設(shè)置為屏幕的0.6
// p.width = (int) (d.getWidth() * 0.65);
// 寬度設(shè)置為屏幕的0.65
// dialogWindow.setAttributes(p);
Android Dialog 自定義大小和位置
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
推薦閱讀更多精彩內(nèi)容
- Dialog中EditText可彈出軟鍵盤 把style設(shè)置到dialog中 Dialog中設(shè)置大小 代碼承接上面的代碼
- 轉(zhuǎn)載請注明出處:http://blog.csdn.net/linglongxin24/article/detail...
- 我們自己清楚,android的原生控件實(shí)在是不堪入目,在很多時(shí)候無法滿足項(xiàng)目需求,所以在項(xiàng)目進(jìn)行的過程中,我們很多...