【发布时间】:2011-07-12 14:45:54
【问题描述】:
我刚刚开始 android 编程,写了一个快速的代码,并没有设法让它做我想做的事。基本上,我希望出现一个对话框,其中包含 2 个文本框和一个以特定布局显示的图像。我有以下代码:
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
RelativeLayout dialogItems = new RelativeLayout(this);
EditText itemTitle = new EditText(this);
EditText itemBody = new EditText(this);
ImageView dIcon = new ImageView(this);
itemTitle.setText("Note Title");
itemBody.setText("Note Details");
dIcon.setImageResource(R.drawable.create);
final RelativeLayout.LayoutParams imageParam = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
imageParam.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
imageParam.addRule(RelativeLayout.ALIGN_PARENT_TOP);
dIcon.setLayoutParams(imageParam);
dialogItems.addView(dIcon, imageParam);
final RelativeLayout.LayoutParams titleParam = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
titleParam.addRule(RelativeLayout.RIGHT_OF, dIcon.getId());
titleParam.addRule(RelativeLayout.ALIGN_PARENT_TOP);
itemTitle.setLayoutParams(titleParam);
dialogItems.addView(itemTitle, titleParam);
final RelativeLayout.LayoutParams bodyParam = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
bodyParam.addRule(RelativeLayout.ALIGN_LEFT, itemTitle.getId());
bodyParam.addRule(RelativeLayout.BELOW, itemTitle.getId());
itemBody.setLayoutParams(bodyParam);
dialogItems.addView(itemBody, bodyParam);
dialog.setView(dialogItems);
dialog.show();
有谁知道为什么这不起作用?问题是,弹出窗口出现了,但所有项目都只是在左上角重叠。谢谢
附:我检查了其他帖子和问题,甚至答案都不起作用!所以请修复我的代码,而不是把我链接到另一个问题。
【问题讨论】: