带动态内容的布局警报对话框 - 结果太高

时间:2011-09-06 11:30:07

标签: android layout alertdialog

我很难挤出警报对话框来包装我的内容。 对话框的布局xml的结构如下:

+ linear layout (main)
++ text view
++ linear layout (placeholder)

我使用占位符稍后在oncreate期间通过调用addView()将一个单一的edittext派生字段附加到它,所以我的onCreate基本上是这样的:

View v = LayoutInflater.from(context).inflate(input_layout, null);
LinearLayout placeholder = (LinearLayout)view.findViewById(input_placeholder)
SoftEditText text = new SoftEditText(context)

// set text attributes - input type, ime action, watchers and listeners

placeholder.addView(text);
setCancelable(true);
setButton(BUTTON_NEGATIVE, ....);
setTitle(title_label);

// view.forceLayout() - didn't help much

setView(view);
super.onCreate(instance);

// getWindow().getAttributes().height=LayoutParams.WRAP_CONTENT no go either

结果是:我的警告对话框是它应该的高度的两倍。我的linearlayout被设置为WRAP_CONTENT高度,如果我绘制他们的背景,我看到它们的大小正确(几乎是对话框高度的一半)。对话框的其余部分为黑色,因此没有任何组件强制或期望此大小。

我将文本的maxLines设置为1,但这又没有帮助。这似乎是一个微不足道的布局问题,但我无法弄清楚我应该更多地调用对话框来简单地包装内容。

感谢任何小费的束。

1 个答案:

答案 0 :(得分:0)

设置maxLength,您可以使用ellipsize来表示继续的文字。