1

我有两种布局:A 和 B。

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

我已经知道原因了。我改变了方式。

于 2012-12-04T11:09:12.080 回答
0

尝试设置一个动画监听器,并在动画结束时写下这些行

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 回答