2014-09-30 98 views
0

因此,Android佈局按鈕部分出現

我有一個佈局活動,在這個佈局中我只有一個按鈕。

單擊此按鈕時,該活動將該按鈕的可見性設置爲不可見,並啓動一個彈出窗口。

我實現了在這個彈出一個簡單的onDismiss功能,將按鈕設置爲可見

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

的問題是,有時,不是很經常,在彈出窗口駁回後,該按鈕被顯示,但僅它的頂部,就像按鈕的1/5。

  • 我懷疑這個按鈕變成可見之前彈出完全駁回,並在它們之間發生某種衝突的,但在另一方面,我做了一些檢查,並在彈出的窗口和按鈕能夠被顯示同時沒有問題,所以「佈局衝突」不可能是重合,對吧?

回答

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); 
     }; 
}); 
0

我會建議讓按鈕變量非靜態,而是從您的監聽器中調用您的活動的方法,並在此方法中設置按鈕可見性。將該按鈕作爲靜態變量可能意味着雖然它不爲null,但在您調用set時爲可見性時,該按鈕不會添加到活動視圖中。

+0

你的答案表明該按鈕實際上可能會出現一點,然後它應該,並導致問題。但彈出關閉後出現「長」時間的按鈕有什麼問題? – user2162550 2014-10-01 12:32:52

+0

不,它表明您可能在繪製視圖之前調用了視圖方法 – Stephen 2014-10-02 13:24:01

+0

我刪除了靜態引用,編輯過的問題。我也嘗試在主要活動中調用一個函數,不起作用。 – user2162550 2014-10-05 10:21:03