8

"Kayan görünüm" olarak bir parçayı barındıran bir uygulama düzeniyle bir koordinatör düzeni kullanmaya çalışıyorum. parçası şöyle bir düğme tutan bir recyclerView ve bir alt hizalanmış düzen oluşur:"Kayan görünüm" olarak parça ile koordinatör düzeni nasıl kullanılır?

enter image description here

Ancak alt bölümde varsayılan olarak gizlidir:

enter image description here

ve sadece gösterir kaydırdıktan sonra.

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    TestFragment fragment = (TestFragment) getFragmentManager().findFragmentByTag("Test"); 
    if (fragment == null) 
     fragment = new TestFragment(); 

    getFragmentManager().popBackStack(); 

    FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); 

    fragmentTransaction.replace(R.id.fragment_container, fragment, "Test"); 
    fragmentTransaction.commit(); 
} 

Etkinlik düzeni: Etkinliğimi sınıfından itibaren

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

    <android.support.design.widget.CoordinatorLayout 
     android:id="@+id/main_content" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <FrameLayout 
      android:id="@+id/fragment_container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

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

      <android.support.design.widget.TabLayout 
       android:id="@+id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_scrollFlags="enterAlways|scroll" 
       app:tabGravity="fill" 
       app:tabMode="fixed"/> 

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

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

</RelativeLayout> 

Fragment düzeni:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recyclerView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/bottomView" 
     android:scrollbars="vertical" 
     android:visibility="visible"/> 

    <RelativeLayout 
     android:id="@+id/bottomView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:background="#d4285d" 
     app:layout_scrollFlags="enterAlways"> 

     <Button 
      android:id="@+id/button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Do something..." 
      android:textSize="14sp"/> 

    </RelativeLayout> 
</RelativeLayout> 

parçası hep alt bar olması için buraya uç hedefidir Ekranda ve geri dönüşümcü görünümü, appbar'ı kaydırıyor.

Bu mümkün mü?

Herkese teşekkürler!

+1

Aynı problemim var. Ben 'yarılanma' aktivitesine (ve Fragmanı değil) ve Koordinatörün Dışına 'yerleştirerek' yarıya 'çözdüm. Şimdi kaydırma yaparken bile görünür kalır. Bununla birlikte, bazen de onu gizlemek istiyorum (kaydırma yaparken değil, bir araç çubuğu düğmesine bastığımda) ve bu durumda kaydırma görünümü (RecyclerView) geride kalan alanı doldurmaz, bunun yerine 'boş' kalır (beyaz). Ayrıca, 'bottomView', CoordinatorLayout dışında ve LinearLayout'un altında olsa bile, kaydırma görünümünün üstünde görünür. Kafam karıştı ... –

+0

Nick, şu anda aynı yaklaşımı kullanmaya son verdim, diploma Etkinliğe dahil edildi. Bunu, parçadan erişip orada bir görünüm eklediğim Etkinlik'e bir FrameLayout ekleyerek genel bir şekilde ele aldım. Bu dağınık ama etrafta dolaşamadım. Bazen bu çubuğu gizlemekle uğraşmak zorunda değilim (parçaları değiştirdiğimde tamamen gizlemekten başka), bu yüzden bu konu hakkında yorum yapamam ... üzgünüm. – Zach

cevap

İlgili konular