没有标题的自定义对话框会弄乱我的布局

时间:2012-11-09 06:07:39

标签: android android-layout android-dialog

我正在尝试创建一个没有标题栏的自定义对话框,我通过执行以下操作来遵循SO建议

propDiag = new Dialog(this);
propDiag.requestWindowFeature(Window.FEATURE_NO_TITLE);
propDiag.setContentView(R.layout.property_daig);

这是我的xml的一部分

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:background="@drawable/background"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:orientation= "horizontal">
        <LinearLayout android:layout_width="wrap_content"
            android:layout_height="fill_parent" android:orientation= "vertical" android:layout_weight="1" >

                   //COUPLE OF buttons

        </LinearLayout>
        <View android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.5" ></View>
        <LinearLayout android:layout_width="wrap_content"
            android:layout_height="fill_parent" android:orientation= "vertical"  android:layout_weight="1"  >
                       //COUPLE OF buttons
            </LinearLayout>
    </LinearLayout>

问题是它弄乱了我的布局,所有东西都被推到了最大左右

当我在没有requestWindowFeature的情况下执行此操作时,除了出现的标题外,一切都很棒!

任何人都可以解释并推荐一个解决方案吗? 感谢

2 个答案:

答案 0 :(得分:3)

见下面的代码:

我没有你的背景图片,只是放了图标图像并执行下面的代码。

还附上了输出的屏幕截图。

代码:

 Button test = (Button) findViewById(R.id.button1);

    test.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
             final Dialog dialog = new Dialog(MainActivity.this);
             dialog.getWindow();
             dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
             dialog.setContentView(R.layout.property_daig);

             dialog.show();

        }

    });

<强>输出:

enter image description here

希望它会对你有所帮助。

享受编码。 :)

答案 1 :(得分:0)

Try this    

            final Dialog dialog = new Dialog(context);
                    dialog.getWindow();
                    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                    dialog.setContentView(R.layout.custom_dialog);

                    TextView customText = (TextView)dialog.findViewById(R.id.customDialogTitletext);
                    customText.setText(text);
                    customText.setTypeface(tf);
                    Button btnOk = (Button) dialog.findViewById(R.id.buttonOk);
                    btnOk.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View arg0) {
                            dialog.dismiss();
                        }
                    });
                    dialog.show();

                }

让我知道您的问题是否得到解决。