關(guān)于Android對話框?qū)挾葻o法鋪滿全屏的問題-創(chuàng)新互聯(lián)

之前做自定義對話框需要寬度鋪滿全屏?xí)r,基本是這樣操作的.

創(chuàng)新互聯(lián)建站主營武清網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),武清h5成都微信小程序搭建,武清網(wǎng)站營銷推廣歡迎武清等地區(qū)企業(yè)咨詢
AlertDialog dialog = new AlertDialog.Builder(context).create();
        dialog.show();
        Window window = dialog.getWindow();
        WindowManager.LayoutParams lp = window.getAttributes();
        lp.width = WindowManager.LayoutParams.MATCH_PARENT;
        window.setAttributes(lp);
        window.setWindowAnimations(R.style.dialogWindowAnim);//動畫
        window.setContentView(R.layout.layout_mine_bank_del);//布局
        window.setGravity(Gravity.CENTER);

以前一直沒出過問題,一直到這次使用了

"AppTheme.NoActionBar"

主題,在5.0以上手機(jī)發(fā)現(xiàn)寬度無法鋪滿了;如果將位置設(shè)置底部

window.setGravity(Gravity.BOTTOM);

會出現(xiàn)底部也有一段距離.

很郁悶,試了其他方式:

window.getDecorView().setPadding(0, 0, 0, 0);

或者

window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);

或者

Window window = getWindow();
 WindowManager.LayoutParams wlp = window.getAttributes();
Display d = window.getWindowManager().getDefaultDisplay();//獲取屏幕寬
wlp.width = (int) (d.getWidth());//寬度按屏幕大小的百分比設(shè)置 ;d.getWidth()這個方法已廢棄
 wlp.gravity = Gravity.CENTER;
 window.setAttributes(wlp);

但是都一直無法成功.直到今天無意中在一個博客看到這句才解決問題

window.setBackgroundDrawableResource(android.R.color.transparent);

把這句加上去就沒問題了,哈哈!

感謝博主 http://blog.csdn.net/bear_huangzhen/article/details/51683758

順便記一下,剛才那樣自定義對話框需要先

dialog.show();

才行,不然會出錯的.另一種通過繼承去自定義的則是最后面才show

public class MyDialog extends AlertDialog{
    public MyDialog(Context context) {
       super(context);
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       this.setContentView(R.layout.my_dialog);
    }
}

這種使用也比較簡單,靈活度也好

final MyDialog myDialog = new MyDialog(context);
myDialog.setMsg("測試顯示自定義對話框");
myDialog.setOnPositiveListener("知道了",new View.OnClickListener() {
    @Override
    public void onClick(View v) {
       myDialog.cancel();
    }
});
myDialog.show();

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞標(biāo)題:關(guān)于Android對話框?qū)挾葻o法鋪滿全屏的問題-創(chuàng)新互聯(lián)
本文URL:http://muchs.cn/article22/cddgcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、電子商務(wù)外貿(mào)建站、網(wǎng)站設(shè)計、Google企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作