0

こんにちは、私は最初にその可視性を消えてからアニメーション化して可視化するように設定した 2 つの textViews を持っています。今、私は再び見えないようにしたいのですが、何らかの理由でそれらがまだ画面に表示されているのはなぜですか?

私の onCreate() で、ビューを削除します

register = (TextView)findViewById(R.id.register);
        register.setVisibility(View.GONE);
        forgotpassword = (TextView)findViewById(R.id.forgotpw);
        forgotpassword.setVisibility(View.GONE); 

それから後で私はそれを見えるようにします

public void run() 
            {
               animations();
               loginForm.setVisibility(View.VISIBLE);
               register.setVisibility(View.VISIBLE);
               forgotpassword.setVisibility(View.VISIBLE);
            }

そして、ユーザーがボタンを押すと、テキストビューを非表示にして、レイアウトを保持しながら画面に表示したままにします

signInBtn = (Button) findViewById(R.id.signin);
        signInBtn.setOnClickListener(new View.OnClickListener() {

            public void onClick(View arg0) {
                signInProcess();
            }
        });


 public void signInProcess() { 

     register.setVisibility(View.INVISIBLE);
     forgotpassword.setVisibility(View.INVISIBLE);
     setuploader.setVisibility(View.VISIBLE);

}

4

1 に答える 1

1

Android で何かをアニメーション化すると、別の場所に描画されます。実際の要素は移動されません。したがって、アニメーション化signInBtnすると別の場所に描画されますが、実際のボタンは元の位置から移動しません。そのため、ボタンをクリックしても、クリック ハンドラは呼び出されません。

アニメーションでこの設定を回避しfillAfter = Trueて、ボタンが実際にアニメーションの最後に移動するようにします。

また、Android でビューをアニメーション化した後はView.clearAnimation()、可視性を変更する前に呼び出してください。

于 2013-02-17T10:36:42.060 に答える