我正在创建一个作为对话框格式的活动:它不覆盖整个屏幕,而只是其中的一部分。我所做的是在这个活动的 onCreate() 方法中,在调用 setContentView() 之后,我调用:
window.setLayout(windowWidthInDp, LayoutParams.WRAP_CONTENT);
它不起作用。我需要执行以下操作才能使其正常工作:
window.getDecorView().post(new Runnable() {
@Override
public void run() {
window.setLayout(windowWidthInDp, LayoutParams.WRAP_CONTENT);
}
});
同样,这是在调用 setContentView() 之后。为什么我必须将它放入消息队列而不是直接调用它?谢谢!