2016-09-10 4 views
2

Я пытаюсь сделать раскладку комментариев/чатов с RecyclerView и фиксированным EditText внизу. Пожалуйста, не говорите adjustPan или adjustResize. Не работает. adjustPan скрывает клавиатуру.Скрытые клавиатуры для Android скрыты RecyclerView

Мне очень нужна помощь в этом, это становится действительно расстраивает

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/appbarlayout" 
     android:paddingTop="@dimen/app_bar_top_padding"> 

     <android.support.v7.widget.Toolbar 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
      android:id="@+id/toolbar" 
      app:titleTextColor="#FFFFFF" /> 

    </android.support.design.widget.AppBarLayout> 


    <android.support.v7.widget.RecyclerView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/recycler_view" 
     android:layout_below="@+id/appbarlayout" 
     android:isScrollContainer="false" 
     android:stackFromBottom="true" 
     android:transcriptMode="normal"/> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#2b2b2b" 
     android:orientation="vertical" 
     android:id="@+id/chat_box" 
     android:layout_alignParentBottom="true"> 

     <View 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:background="?android:attr/listDivider"/> 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:padding="16dp"> 

      <EditText 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:hint="Skriv en kommentar" 
       android:background="@android:color/transparent" 
       android:textColor="@color/white" 
       android:textColorHint="#d4d4d4" 
       android:inputType="textCapSentences|textMultiLine" 
       android:layout_marginRight="40dp"/> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/ic_send" 
       android:background="@drawable/click" 
       android:layout_gravity="right|center_vertical" /> 

     </FrameLayout> 

    </LinearLayout> 


</RelativeLayout> 

ответ

1

Правильный ответ adjustResize, так что приложение изменяется над клавиатурой. Однако для этого, чтобы работать, остальная часть вашего макета должна быть написана с возможностью изменения размера. Твой нет, поскольку просмотр ресайклера не фиксируется на месте. Добавьте в него ограничение layout_above="@+id/chatBox", чтобы оно лежало над текстом редактирования, и оно должно изменяться в соответствии с пространством должным образом.

Кроме того, adjustPan не скрывает клавиатуру. Если это так, у вас что-то действительно не так в коде. adjustPan слайд ваше приложение без изменения размера. Какой может быть то, что вы хотите, если вы можете узнать, что в вашем приложении скрывает клавиатуру.

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

  • Нет связанных вопросов^_^