所以,
我有一个布局活动,在这个布局中我只有一个按钮。
单击此按钮时,活动会将按钮的可见性设置为不可见,并启动弹出窗口。
我在此弹出窗口中实现了一个简单的onDismiss
函数,该按钮将按钮设置为可见
pw.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
MainActivity.packButton.setVisibility(View.VISIBLE);
}
});
问题在于,有时候,不常见,弹出窗口被解除后,按钮会显示,但只显示按钮的上半部分,如按钮的1/5。
答案 0 :(得分:0)
我建议将按钮变量设置为非静态,而是从您的侦听器调用您的活动方法,并在此方法中设置按钮可见性。将按钮作为静态变量可能意味着虽然它是非null,但是当您调用set是可见性时,按钮不会添加到活动视图中。
答案 1 :(得分:0)
您可以添加延迟并在处理程序上运行此方法。
pw.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
MainActivity.packButton.setVisibility(View.VISIBLE);
}
}, 1000);
};
});