0

我要的是下面這種佈局:鍵盤隱藏以上Recycler視圖?

<CoordinatorLayout> 
    <ToolBar></ToolBar> 
    <RelativeLayout></RelativeLayout> 
    <RecyclerView></RecyclerView> 
    <LinearLayout> 
    <EditText></EditText> 
    </LinearLayout> 
<CoordinatorLayout> 

不過,我的問題是,當我點擊我的EditText,鍵盤彈出並顯示RecyclerView完美的,但是當我試圖進一步向上滾動,我似乎無法看到我的RelativeLayout,我也看不到我的ToolBar。但是,當我沒有鍵盤時,我可以看到一切正常。下面是一些圖像,顯示了發生的事情: This is my image before I click on the keyboard

This is my image after I click the keyboard

我理解,因爲我沒有父母ScrollView是嵌套整個佈局是最有可能的,但我似乎不能有因爲我的RecyclerView。有沒有一個。一種實現一種自定義RecyclerView的方式,所以我可以有一個ScrollView父佈局或b。找到某種方式可以滾動並查看我的ToolBarRelativeLayout以及我的RecyclerView?我已將我的嘗試與ScrollView包括在一起,但當我點擊EditText時,我仍然只能看到RecyclerView。任何幫助表示讚賞。謝謝!

代碼: 的AndroidManifest.xml:

<activity android:name=".com.tabs.activity.Comments" 
     android:label="View Post" 
     android:theme="@style/AppTheme.NoActionBar" 
     android:configChanges="keyboardHidden" 
     android:windowSoftInputMode="adjustPan|stateVisible|stateAlwaysHidden"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".com.tabs.activity.news_feed"/> 
    </activity> 

comments.xml:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:flatui="http://schemas.android.com/apk/res-auto" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:fresco="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" android:fitsSystemWindows="true" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    android:id="@+id/comments_coordinator_layout"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/comments_appbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

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

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="true" 
     > 
     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/layout_comments"> 
      <RelativeLayout 
       android:layout_marginTop="?attr/actionBarSize" 
       android:id="@+id/view_post" 
       android:layout_width="match_parent" 
       android:paddingRight="5dp" 
       android:paddingLeft="5dp" 
       android:orientation="horizontal" 
       android:layout_height="175dp" 
       android:background="#e6e6e6"> 

       <com.facebook.drawee.view.SimpleDraweeView 
        android:layout_marginTop="15dp" 
        android:id="@+id/poster_picture" 
        android:layout_width="75dp" 
        android:layout_height="75dp" 
        android:layout_marginLeft="10dp" 
        fresco:placeholderImage="@mipmap/blank_prof_pic" 
        fresco:roundedCornerRadius="5dp" 
        fresco:roundAsCircle="true" 
        /> 

       <TextView 
        android:layout_marginLeft="5dp" 
        android:layout_marginTop="15dp" 
        android:layout_toRightOf="@id/poster_picture" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="15sp" 
        android:textStyle="bold" 
        android:id="@+id/poster_name"/> 

       <TextView 
        android:layout_alignParentRight="true" 
        android:layout_marginTop="15dp" 
        android:layout_toRightOf="@id/poster_name" 
        android:layout_marginLeft="5dp" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="15sp" 
        android:id="@+id/post_date"/> 

       <TextView 
        android:layout_marginLeft="5dp" 
        android:layout_toRightOf="@id/poster_picture" 
        android:layout_below="@id/poster_name" 
        android:textSize="20sp" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:id="@+id/view_status" /> 

      </RelativeLayout> 


      <LinearLayout 
       android:id="@+id/send_message" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:padding="5dp" 
       android:layout_alignParentBottom="true" 
       android:orientation="horizontal" > 

       <com.cengalabs.flatui.views.FlatEditText 
        android:id="@+id/write_comment" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="5" 
        android:paddingLeft="10dp" 
        android:gravity="bottom|left" 
        android:cursorVisible="false" 
        android:hint="Comment back!" 
        android:inputType="textMultiLine" 
        flatui:fl_fieldStyle="fl_box" 
        android:scrollHorizontally="false" /> 

       <com.cengalabs.flatui.views.FlatButton 
        android:id="@+id/send_comment" 
        android:layout_width="wrap_content" 
        android:layout_height="40dp" 
        android:layout_marginLeft="5dp" 
        android:layout_gravity="center_vertical|center_horizontal" 
        android:gravity="center" 
        android:text="send" 
        flatui:theme="@array/sea" 
        flatui:fl_textAppearance="fl_light"/> 
      </LinearLayout> 

      <android.support.v7.widget.RecyclerView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/view_post" 
       android:layout_above="@id/send_message" 
       android:id="@+id/view_comments"> 
      </android.support.v7.widget.RecyclerView> 
     </RelativeLayout> 
    </ScrollView> 


</android.support.design.widget.CoordinatorLayout> 
+0

只使用'stateAlwaysHidden | adjustPan' –

+0

@IntelliJAmiya我按照你的建議做了,它沒有解決我的問題。你有什麼其他的建議? – user1871869

+0

試試這個http:// stackoverflow。com/questions/3295672/android-soft-keyboard-covers-edittext-field – piotrek1543

回答

0

據:

我理解,因爲我沒有它是最有可能父親 ScrollView嵌套整個佈局,但我似乎無法有 ,因爲我的RecyclerView。有沒有一個。一種方式 實施一種自定義的RecyclerView,所以我可以有一個ScrollView 父佈局或b。找到某種方式可以滾動並查看 我的ToolBarRelativeLayout以及我的RecyclerView? 我已將我的嘗試與ScrollView包括在一起,但當我點擊EditText時,我仍然只能看到 RecyclerView。任何幫助是 讚賞。謝謝!

因此,您需要擴展現有的ScrollView視圖的範圍。只需將AppBarLayoutRelativeLayout視圖轉換爲新的垂直導向的「LinearLayout」,因爲ScrollView只需要一個視圖。這個新創建的ViewGroup將是'CoordinatorLayout'的唯一孩子。

一旦包裝AppBarLayoutRelativeLayout' into new made LinearLayout , put it into existing ScrollView`。

希望你現在明白如何去做。如果沒有,告訴我,我明天在清晨編輯我的文章,並更改您所需的實際代碼。

+0

嗯,我的問題是'ScrollView'不能成爲'RecyclerView'的父親,因爲那樣你會有一個嵌套滾動視圖嗎? – user1871869

+0

不,因爲'ScrollView'只能有一個孩子。 ScrollView的子項將嵌套ViewGroups持有者。 – piotrek1543