对话框不响应布局权重,需要复苏

时间:2011-06-07 23:48:19

标签: android user-interface dialog

以下对话框不受重量参数的影响。有人能解释一下原因吗?

可扩展标记语言:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content" android:layout_height="wrap_content"
  android:weightSum="1" android:orientation="horizontal">

  <TextView android:id="@+id/dialogtext" android:layout_width="0dp"
    android:layout_height="wrap_content" android:layout_weight=".3" />
    <Button android:id="@+id/dialogbutton"
    android:layout_width="0dp" android:layout_weight=".7"
    android:layout_height="wrap_content" android:text="Cancel" />
</LinearLayout>

java:


dialog = new Dialog(GameActivity.this);
dialog.setContentView(R.layout.dialog);
TextView textdialog = (TextView) dialog.findViewById(R.id.dialogtext);
textdialog.setText("i dont care what size you want me to be, im comfortable with my body");
button = (Button) dialog.findViewById(R.id.dialogbutton);
button.setOnClickListener(this);
dialog.show();

如果我将尺寸指定为dp,则会响应。

1 个答案:

答案 0 :(得分:3)

我怀疑你需要将外部LinearLayout的宽度设置为match_parent。否则,LinearLayout将使其自身足够宽以容纳其子项,而这些子项的宽度足以显示自己。结果没有额外的宽度来分配权重。