如何在android中获取自定义对话框的大小?

时间:2012-07-09 09:28:49

标签: android dialog size

我有一个从对话框扩展的自定义Dialog。 为了在其上放置组件,我需要知道对话框的宽度。我怎么能这样做? 感谢

编辑:

public class AnswerTypeDialog extends Dialog{
    public AnswerTypeDialog(Context context) {
        super(context);
        mContext = context;
    }

    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        init();
    }

    protected void init(){
        ll=(RelativeLayout) LayoutInflater.from(mContext).inflate(R.layout.answertype_layout, null);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(ll);
        mWindowWidth = this.getWindow().getAttributes().width;
    }
}

mWindowWidth为零。

2 个答案:

答案 0 :(得分:0)

这会奏效。

@Override
    public void onWindowFocusChanged (boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        int height=mDialog.getWindow().getDecorView().getHeight();
    int width=mDialog.getWindow().getDecorView().getWidth();
}

答案 1 :(得分:-2)

您可以使用此代码段

int height=mDialog.getWindow().getDecorView().getHeight();
int width=mDialog.getWindow().getDecorView().getWidth();