部分显示Android布局按钮

时间:2014-09-30 18:06:13

标签: android

所以,

我有一个布局活动,在这个布局中我只有一个按钮。

单击此按钮时,活动会将按钮的可见性设置为不可见,并启动弹出窗口。

我在此弹出窗口中实现了一个简单的onDismiss函数,该按钮将按钮设置为可见

pw.setOnDismissListener(new PopupWindow.OnDismissListener() {
        @Override
        public void onDismiss() {
            MainActivity.packButton.setVisibility(View.VISIBLE);
        }
    });

问题在于,有时候,不常见,弹出窗口被解除后,按钮会显示,但只显示按钮的上半部分,如按钮的1/5。

  • 我怀疑在弹出窗口完全解除之前按钮变得可见,并且它们之间发生了一些冲突,但另一方面我做了一些检查,弹出窗口和按钮能够同时显示时间没有问题,所以"布局冲突"不能成为现实吧?

2 个答案:

答案 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);  
        };
});