15

Sohbet ekranı geliştiriyorum. Kullanıcı profili görüntüsü için CollapsingToolbarLayout, mesajlar listesi için RecyclerView ve mesaj göndermek için bir düzenleme kutusundan oluşur. Düzenleme kutusunu alt ekrana sabitlemenin ve ekranın geri kalanıyla kaydırılmasının mümkün olup olmadığını anlayamıyorum?KoordinatörLütfen Geri DönüşümlüBaşlığı ve alt sabitlenmiş EditText

CoordinatorLayout'u dikey bir LinearLayout içine koyar ve EditText'i CoordinatorLayout'un dışına koyarsam neredeyse istediğim şeyi elde ettim. Ancak bu durumda klavye davranışı RecyclerView'den ayrılır - klavyeyi açtığınızda yukarı/aşağı kaydırmaz. Ben perdeden dışarı kayar CoordinatorLayout içine EditText koymak çalışırsanız o

Benim Düzen

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/keyboard_listener" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
> 

<android.support.design.widget.CoordinatorLayout 
    android:id="@+id/coordinator" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    > 

    <RecyclerView 
     android:id="@android:id/list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:clickable="true" 
     android:clipToPadding="false" 
     android:focusableInTouchMode="true" 
     android:paddingBottom="20dp" 
     android:scrollbarStyle="outsideOverlay" 
     android:scrollbars="vertical" 
     android:transcriptMode="normal" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" 
     /> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     > 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/screen_toolbar_container" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:contentScrim="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed|snap" 
      app:titleEnabled="false" 
      > 

      <FrameLayout 
       android:id="@+id/toolbar_fragment_container" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       /> 

      <Toolbar 
       android:id="@+id/screen_toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="@android:color/transparent" 
       android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
       app:layout_collapseMode="pin" 
       /> 

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

     <EditText 
      android:id="@+id/messageEditText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@null" 
      android:hint="@string/send_hint" 
      android:inputType="textCapSentences|textMultiLine" 
      android:maxLength="2000" 
      android:maxLines="4" 
      android:padding="10dp" 
      android:textSize="14sp"/> 

</LinearLayout> 
+0

gibi EditText, arkadaşım, içinde, gerçekten 'ekranın alt kısmında EditText' Eğer CoordinatorLayout'' dışında tutmak ve activ koymak gerekir istiyorum ity düzeni. İkincisi "RelativeLayout" olmalıdır, bu yüzden "android: layout_alignParentBottom =" true "' – piotrek1543

+1

@ piotrek1543 gibi bir EditText özniteliği verebilmeliydiniz, çabalarınızı takdir ediyorum, ama üzgünüm - gerçekten hiç yardımcı değilsiniz :) Lütfen Bir kez daha sorumu oku - Bir LinearLayout'ta CoordinatorLayout'u paketledim ve edittext istediğim gibi tutturuldu. Ancak klavye, RecyclerView – Anton

+1

'u kaydırmıyor. Koordinatorlayout sorununuza ilişkin olarak, android: isScrollContainer = "true" bu sorunu çözecektir, ad biraz yanıltıcıdır, ancak yorumlar şu şekildedir: Görünüm bir kaydırma işlevi görecekse bunu ayarlayın konteyner, genel penceresini küçültmek için yeniden boyutlandırılabileceği anlamına gelir, böylece bir giriş yöntemi için alan olacaktır. Ayarlanmazsa, "scrollbars" dikey kaydırma çubuğuna sahipse varsayılan değer true olacaktır, aksi halde false olacaktır. –

cevap

9

Bunu ekle ben ayarlamanız gerekir herhangi bir özel Davranış varsa

, bilmiyorum sadece iyi bir floatingActionButton

app:layout_anchor="@id/your bottom view id" 
    app:layout_anchorGravity="bottom|right|end" 
+0

Ama EditText bu durumda –

+0

bu geri dönüşümcü görünümü üzerinde yatıyor ... teşekkürler eric –