<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Android 自定義Dialog 控制

Android 自定義Dialog 控制

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

/*

本文引用地址:http://dyxdggzs.com/article/201609/303741.htm

* 獲取對話(huà)框的窗口對象及參數對象以修改對話(huà)框的布局設置,

* 可以直接調用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表示相對于原始位置的偏移.

* 當參數值包含Gravity.LEFT時(shí),對話(huà)框出現在左邊,所以lp.x就表示相對左邊的偏移,負值忽略.

* 當參數值包含Gravity.RIGHT時(shí),對話(huà)框出現在右邊,所以lp.x就表示相對右邊的偏移,負值忽略.

* 當參數值包含Gravity.TOP時(shí),對話(huà)框出現在上邊,所以lp.y就表示相對上邊的偏移,負值忽略.

* 當參數值包含Gravity.BOTTOM時(shí),對話(huà)框出現在下邊,所以lp.y就表示相對下邊的偏移,負值忽略.

* 當參數值包含Gravity.CENTER_HORIZONTAL時(shí)

* ,對話(huà)框水平居中,所以lp.x就表示在水平居中的位置移動(dòng)lp.x像素,正值向右移動(dòng),負值向左移動(dòng).

* 當參數值包含Gravity.CENTER_VERTICAL時(shí)

* ,對話(huà)框垂直居中,所以lp.y就表示在垂直居中的位置移動(dòng)lp.y像素,正值向右移動(dòng),負值向左移動(dòng).

* gravity的默認值為Gravity.CENTER,即Gravity.CENTER_HORIZONTAL |

* Gravity.CENTER_VERTICAL.

*

* 本來(lái)setGravity的參數值為Gravity.LEFT | Gravity.TOP時(shí)對話(huà)框應出現在程序的左上角,但在

* 我手機上測試時(shí)發(fā)現距左邊與上邊都有一小段距離,而且垂直坐標把程序標題欄也計算在內了,

* Gravity.LEFT, Gravity.TOP, Gravity.BOTTOM與Gravity.RIGHT都是如此,據邊界有一小段距離

*/

lp.x = 100; // 新位置X坐標lp.y = 100; // 新位置Y坐標

lp.width = 300; // 寬度

lp.height = 300; // 高度

lp.alpha = 0.7f; // 透明度

// 當Window的Attributes改變時(shí)系統會(huì )調用此函數,可以直接調用以應用上面對窗口參數的更改,也可以用setAttributes

// dialog.onWindowAttributesChanged(lp);

dialogWindow.setAttributes(lp);

/*

* 將對話(huà)框的大小按屏幕大小的百分比設置

*/

// WindowManager m = getWindowManager();

// Display d = m.getDefaultDisplay(); // 獲取屏幕寬、高用

// WindowManager.LayoutParams p = getWindow().getAttributes(); // 獲取對話(huà)框當前的參數值

// p.height = (int) (d.getHeight() * 0.6); // 高度設置為屏幕的0.6

// p.width = (int) (d.getWidth() * 0.65); // 寬度設置為屏幕的0.95

// dialogWindow.setAttributes(p);

2、Alert對話(huà)框的返回鍵捕獲

當調用了系統的Alert后,再按返回鍵只會(huì )讓Alert消失,但是重寫(xiě)OnkeyDown捕捉不到。對些有些操作不能進(jìn)行?,F在有2種方法。

1:屏蔽到系統的返回鍵功能。也就是在出現AlertDialog后,只能使用Dialog上按鈕確定或者取消。

alertdialog.setCancelable(false);屏蔽到原來(lái)的返回鍵功能

2:重寫(xiě)接口

alertdialog.setOnCancelListener(listener);這個(gè)接口是當讓Dialog消失的時(shí)候的接口。不僅僅返回鍵有這個(gè)功能。



關(guān)鍵詞: Android Dialog 自定義

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>