簡體   English   中英

防止在動畫過程中視圖位於前面

[英]Prevent view to be in front during animation

我有一個顯示或隱藏視圖的按鈕。 當按下按鈕時,視圖將添加到布局中,然后開始翻譯動畫。 第二次按下按鈕將從布局中刪除該視圖。 我使用addView(view, 0)來確保該視圖位於所有其他視圖的后面。 它通常工作正常。

顯示視圖時出現問題,我非常快速地按了兩次按鈕(有點雙擊)。 在這種情況下,動畫過程中視圖會跳到最前面。

我該如何預防?

只需禁用( setEnabled(false) )按鈕並在AnimationListener.onAniationEnd()啟用它即可。

UPD :好的,這就是代碼,它說明了我的想法:

    final Button btn = (Button) findViewById(R.id.myButton);
    View view = (View) findViewById(R.id.myView);

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            btn.setEnabled(false);
            // animation here
            addView(view, 0);
        }
    });

    // somewhere else
    final Button btn = (Button) findViewById(R.id.myButton);
    btn.setEnabled(true);
    removeView(view);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM