2016-11-30 2 views
0

У меня есть пара EditText s в ScrollView. Ниже EditText есть TextView. Когда мягкая клавиатура фокусируется на этом EditText Я хочу прокрутить до TextView, о котором я упоминал выше, поэтому я уверен, что это также видно (в нем содержится некоторая информация для EditText).Невозможно прокрутить до определенного вида в scrollView

Так я добавил фокус слушателя к этому EditText и внутри там у меня есть этот код:

 svContainer.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       svContainer.smoothScrollTo(0 , tvInfo.getBottom()); 


      } 
     }, 300); 

, но ничего не происходит. TextView остается скрытым под клавиатурой. Logcat дает мне для tvInfo.getBottom() == 717

EDIT: В то время как, если я изменю smoothScrollTo() с svContainer.fullScroll(View.FOCUS_DOWN);, то его прокруткой всего пути до дна!

EDIT 2: добавляет XML код

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" 
xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingPrefix" 
android:id="@+id/sv_container" 
android:fillViewport="false" android:background="@color/getstarted_blue_bg" 
android:layout_width="match_parent" android:layout_height="wrap_content"> 

<LinearLayout 
    android:id="@+id/ll_about_you_container" 
    android:orientation="vertical" android:layout_marginTop="@dimen/spacing_xlarge" 
    android:layout_width="match_parent" android:layout_height="wrap_content"> 

    <TextView 
     android:text="@string/get_started_about_you" android:textColor="@color/white" android:textStyle="bold" 
     android:layout_marginLeft="@dimen/spacing_large" android:layout_marginRight="@dimen/spacing_large" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

    <EditText 
     android:id="@+id/et_industry" 
     android:maxLines="1" android:imeOptions="actionNext" android:inputType="textCapSentences" 
     android:nextFocusForward="@+id/et_profession" 
     android:layout_marginLeft="@dimen/spacing_large" android:layout_marginRight="@dimen/spacing_large" 
     android:layout_marginTop="@dimen/spacing_large" android:textColor="@color/white" android:textSize="@dimen/app_text_size_large" 
     android:layout_width="match_parent" android:layout_height="wrap_content" /> 

    <EditText 
     android:id="@+id/et_profession" 
     android:nextFocusForward="@+id/et_company" 
     android:maxLines="1" android:imeOptions="actionNext" android:inputType="textCapSentences" 
     android:layout_marginLeft="@dimen/spacing_large" android:layout_marginRight="@dimen/spacing_large" 
     android:layout_marginTop="@dimen/spacing_large" android:textColor="@color/white" android:textSize="@dimen/app_text_size_large" 
     android:layout_width="match_parent" android:layout_height="wrap_content" /> 

    <EditText 
     android:id="@+id/et_company" 
     android:hint="@string/get_started_company" android:textColorHint="@color/white" 
     android:maxLines="1" android:imeOptions="actionNext" android:inputType="textCapSentences" 
     android:layout_marginLeft="@dimen/spacing_large" android:layout_marginRight="@dimen/spacing_large" 
     android:layout_marginTop="@dimen/spacing_large" android:textColor="@color/white" android:textSize="@dimen/app_text_size_large" 
     android:layout_width="match_parent" android:layout_height="wrap_content" /> 

    <TextView 
     android:id="@+id/tv_anchor" 
     android:layout_gravity="center" 
     android:text="AnchorView" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

</LinearLayout> 

</ScrollView> 

ответ

0

Использование:

svContainer.post(new Runnable() { 
      @Override 
      public void run() { 
       svContainer.scrollTo(0, tvInfo.getBottom()); 
      } 
     }); 
    } 

и использование: в деятельности тег в манифесте:

android:windowSoftInputMode="stateHidden" 
+0

Я попытался это раньше тоже, но еще нет прокрутки – Mes

+0

ok Позвольте мне попробовать снова с 'stateHidden' – Mes

+0

Nope' stateHidden 'не помогло – Mes

Смежные вопросы