从自定义对话框顶部删除额外的房地产

时间:2010-08-22 16:12:43

标签: android dialog relativelayout

我创建了一个自定义对话框,我通过RelativeLayout动态地将视图放入其中。每次显示对话框时,它都会显示我的所有子视图,但它顶部有一些我无法解释的空间。我假设这是为对话框的“标题”保留(我不会有)。有没有办法删除该空间并让我的自定义对话框只包装我正在放入的内容?

这是布局的xml:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
  <RelativeLayout
     android:id="@+id/handlay"
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" />  
</LinearLayout>

顺便说一句,我试过让相对布局成为父节点,结果相同。

这是自定义对话框的.java。

public class HandResults extends Dialog implements DialogInterface {
    HandResults hr;
    Timer myTimer;
    RelativeLayout handrl;


    // constructor sets the layout view to handresult layout
    public HandResults(Context context) {
        super(context);
        setContentView(R.layout.handresults);
        hr = this;

    }

    // create a timer to remove the dialog after 3 seconds
    public void showHands(){
        this.show();
        myTimer = null;
        myTimer = new Timer();
        myTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                hr.cancel(); 
            }
        }, 3000);

    }
}

以下是我将如何调用对话框:

HandResults mhr = new HandResults(this);
mhr.showHands();

无论我做什么或如何更改布局文件,我总是在顶部有缓冲区,我该怎样摆脱它?

1 个答案:

答案 0 :(得分:18)

将此代码放入类contstructor或onCreate()方法:

    requestWindowFeature(Window.FEATURE_NO_TITLE);

必须在调用setContentView方法之前。