1. 程式人生 > >Android 自定義彈出對話方塊顯示不全的問題

Android 自定義彈出對話方塊顯示不全的問題

昨天需要用自定義AlertDialog來實現一項功能,步驟大體是:

1.自定義佈局檔案

2.初始化AlertDialog,並設定setView

3.按鈕 文字框啥的處理

為了偷懶直接copy工程裡面同事完成的對話方塊。但是我修改後效果卻不一樣,先看我的佈局檔案圖示:


這是我想實現的效果,但是實際上卻是這樣的:



我感覺太奇怪了,這是同事實現的效果:


昨晚上下班了,所以也沒找原因,今天早上來了,一對照兩個佈局檔案的程式碼,找到原因了:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="拒絕原因 :"
        android:textColor="@color/black"
        android:textSize="15sp" />
拒絕原因那裡用了wrap_content,所以顯示不全,,,,,,,,

本來想省點事就直接copy的程式碼,誰知道出的問題更怪,無語中。

修改為:

<TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="拒絕原因 :"
        android:textColor="@color/black"
        android:textSize="15sp" />

問題解決.


還發現個問題,使用以下方法生成的對話方塊上下會有黑邊:

AlertDialog.Builder builder = new AlertDialog.Builder(sContext);
		View v = LayoutInflater.from(sContext).inflate(R.layout.club_verify_dialog, null);
		builder.setView(v);
		builder.show();


經查詢,修改為:

Dialog dialog = new Dialog(sContext, R.style.AliDialog);
		dialog.setContentView(R.layout.club_verify_dialog);
		dialog.show();
即可解決問題。