2016-09-10 365 views
2

我正在嘗試使RecyclerView和底部的固定EditText發表評論/聊天佈局。請不要說adjustPanadjustResize。不起作用。 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無需調整大小即可滑動您的應用。這可能是你想要的,如果你可以找出你的應用程序隱藏鍵盤。