1

AとBの2つのレイアウトがあります。

A と B はどちらも RelativeLayout です。

それらは FrameLayout にあります。BはAの後ろに隠れています。

B をクリックすると A から引き出され、もう一度 B をクリックすると非表示になります。

問題は、B が引き出された後、ボタンと EditTexts をクリックできないのはなぜですか? パネル B はフォーカスを取得できません。

Animation showAnimation = AnimationUtils.loadAnimation(LoginActivity.this, R.anim.login_show);
showAnimation.setFillAfter(true);               
doctorLoginLayout.startAnimation(showAnimation);
doctorLoginLayout.setFocusable(true);               
doctorLoginLayout.requestFocus();
doctorLoginLayout.setClickable(true);
4

2 に答える 2

0

アニメーション リスナーを設定してみて、これらの行を onAnimatedEnd に記述してください。

Animation showAnimation = AnimationUtils.loadAnimation(LoginActivity.this, R.anim.login_show);
showAnimation.setFillAfter(true);    
showAnimation.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                 doctorLoginLayout.setFocusable(true);               
                 doctorLoginLayout.requestFocus();
                 doctorLoginLayout.setClickable(true);
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });
doctorLoginLayout.startAnimation(showAnimation);

しかし、この行はあなたが望むものを達成するのに十分なはずです:

doctorLoginLayout.requestFocus();
于 2012-12-04T11:13:22.010 に答える
0

私はその理由を知っています。やり方を変えました。

于 2012-12-04T11:09:12.080 に答える