2012-12-03 50 views
4

我使用下面的代码到一个页面滚动至底部时edittext获得焦点:滚动页面时编辑文本获得焦点

fcListener = new OnFocusChangeListener() { 
     public void onFocusChange(View v, boolean hasFocus) { 
      if (hasFocus)     
       handler.postDelayed(new Runnable() { 

        @Override 
        public void run() { 
         Page.fullScroll(ScrollView.FOCUS_DOWN);       
        } 
       },300); 
     } 
    }; 

personNameText.setOnFocusChangeListener(fcListener); 

然而,每当我在EDITTEXT点击,它获得焦点几乎没有一个瞬间之后,页面向下滚动。然后edittext放松焦点。每次都发生这种情况。我怎样才能防止失去焦点,但仍然使页面向下滚动?

+0

我不完全明白为什么要向下滚动,这可能会让用户感到困惑,因为它不是预期的行为,但已知ScrollView混乱了焦点。检查[这个答案](http://stackoverflow.com/a/7114179/642161)的方式来处理默认行为。 – dmon

+0

editText字段下面有一个按钮,当editText具有焦点时,我希望它可见 – Ankush

+0

我看到了,代码将使scrollview保持焦点。这并不理想,但我还没有找到另一种方式。 – dmon

回答

0

而不是尝试使用自定义代码进行滚动,请在Android Manifest.xml中的活动上使用android:windowSoftInputMode =“adjustResize”。

+1

我用它但没有调整大小发生,键盘只是重叠页面的底部 – Ankush

相关问题