我試圖創建一個自定義對話框,其中包含主LinearLayout,其中包含2嵌套LinearLayout它裏面包含ImageView和TextView。自定義對話框中的嵌套LinerLayout沒有顯示
但問題是LinearLayout沒有顯示出來。我甚至沒有收到任何錯誤,應用程序也沒有崩潰。
謝謝。
下面是與此問題相關的代碼段:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
ll_main = new LinearLayout(AddFreebie.this);
ll_main.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
ll_main.setGravity(Gravity.CENTER);
ll_main.setOrientation(LinearLayout.VERTICAL);
ll_bpic = new LinearLayout(AddFreebie.this);
ll_bpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
ll_bpic.setGravity(Gravity.CENTER);
ll_bpic.setOrientation(LinearLayout.HORIZONTAL);
iv_bpic = new ImageView(AddFreebie.this);
iv_bpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
tv_bpic = new TextView(AddFreebie.this);
tv_bpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
tv_bpic.setText("Browse phone for pictures..");
ll_bpic.addView(iv_bpic);
ll_bpic.addView(tv_bpic);
ll_cpic = new LinearLayout(AddFreebie.this);
ll_cpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
ll_cpic.setGravity(Gravity.CENTER);
ll_cpic.setOrientation(LinearLayout.HORIZONTAL);
iv_cpic = new ImageView(AddFreebie.this);
iv_cpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
tv_cpic = new TextView(AddFreebie.this);
tv_cpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
tv_cpic.setText("Take pictures using camera.");
ll_cpic.addView(iv_cpic);
ll_cpic.addView(tv_cpic);
ll_main.addView(ll_bpic);
ll_main.addView(ll_cpic);
builder.setView(ll_main);
builder.setCancelable(true);
builder.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
// MyActivity.this.finish();
}
})
.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
是否有任何理由你添加每一個通過代碼的東西,不要從XML視圖膨脹它? –
@ eric.itzhak從xml中查看?我沒有得到你。你的意思是爲對話框創建一個專門的佈局,並做builder.setView(R.layout.dialog_view)這樣的事情? 雖然它也不是一回事嗎? 感謝您的回覆。 – Viking
雅將是相同的,但是沒有理由讓佈局ti消失並且更容易管理。 –