5

CollapsingToolbarTiêu đề thanh toán có lề trên cao nhưng chỉ khi được thu gọn và chỉ khi nằm trong một đoạn. Trước phiên bản 25.0.0 của Thư viện hỗ trợ thiết kế, mọi thứ hoạt động tốt.Android CollapsingToolbarTiêu đề thanh toán - lỗi lợi nhuận hàng đầu

Video: https://www.youtube.com/watch?v=7WUrFhmvs_Q&feature=youtu.be

XML:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 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:fitsSystemWindows="true"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="256dp" 
    android:fitsSystemWindows="true" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:contentScrim="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      android:scaleType="centerCrop" 
      android:src="@drawable/image_placeholder" 
      app:layout_collapseMode="parallax"/> 

     <android.support.v7.widget.Toolbar 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin"/> 

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

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

<android.support.v4.widget.NestedScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="16dp" 
     android:text="Lorem ipsum dolor sit amet enim ..." 
     android:textSize="20sp"/> 

</android.support.v4.widget.NestedScrollView> 


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

Fragment:

public class TestFragment extends Fragment { 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    super.onCreateView(inflater, container, savedInstanceState); 

    View view = inflater.inflate(R.layout.test_fragment, container, false); 

    return view; 
} 

@Override 
@CallSuper 
public void onViewCreated(View view, Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 

    CollapsingToolbarLayout toolbarLayout = (CollapsingToolbarLayout) view.findViewById(R.id.collapsing_toolbar_layout); 
    toolbarLayout.setTitle("Lorem Ipsum"); 
} 

} 

Bất kỳ ý tưởng?

Trả lời

0

Tôi có cùng một vấn đề ngay bây giờ, nhưng đó là vì tôi đang lưu trữ nó bên trong FrameLayout và LinearLayout và họ không gọi các phương thức "OnApplyWindowInsets" của con họ.

Ngay cả khi sửa chữa mà tôi vẫn gặp sự cố.

Nhưng đối với bạn, hãy thử chỉ có android: fitsSystemWindows = "true" trên CoordinatorLayout của bạn, không phải phần còn lại. Tôi nghĩ rằng những gì bạn đang nhìn thấy là một insets đôi bởi vì bạn có nó trên hầu như tất cả các điều khiển của bạn.

Các vấn đề liên quan