android面板无法获得焦点

时间:2012-12-04 02:23:34

标签: android focus

我有两种布局: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);

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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();