2015-10-02 29 views
11

Tôi đang sử dụng Thư viện hỗ trợ thiết kế Android để tạo Hoạt động với Thanh công cụ có thể thu gọn với hiệu ứng mờ dần, giống như Google Play hoặc hồ sơ liên hệ của Whatsapp. Tôi sẽ đặt bố cục hoạt động ở phần cuối nhưng lưu ý đây chỉ là bố cục Hoạt động đóng mở mặc định mà tôi đã thêm một ImageView vào AppBarLayout để tạo hiệu ứng làm mờ ảnh < -> Hình ảnh.Thanh công cụ thu gọn Android không sử dụng quán tính như Google Play App

Vấn đề của tôi với việc thực hiện này trình bày chính nó như là 2 triệu chứng tôi sẽ mô tả:

  • Nội dung hoạt động là dài, khi tôi muốn để cuộn lên một cách nhanh chóng bằng cách vuốt nhanh cuộn sẽ ngừng trước khi mở rộng Toolbar . Tôi muốn nó tiếp tục, khi tôi đang ở dưới cùng của NestedScrollView của tôi và tôi làm một swipe ngón tay nhanh chóng để đi tất cả các cách để đầu hoạt động của tôi Tôi muốn di chuyển này để đi và mở rộng Thanh công cụ, đây là cách Ứng dụng Google Play hoạt động hoặc hồ sơ của Whatsapp.

  • Tương tự khi Thanh công cụ được mở rộng không có quán tính cho cuộn, vuốt xuống nhanh sẽ cuộn một chút, một lần nữa đây không phải là cách Google Play hoặc hồ sơ Whatsapp hoạt động. Khi Thanh công cụ được thu gọn, thao tác cuộn sẽ luôn luôn có trong ScrollViews, ListViews, v.v. Một lần vuốt nhanh sẽ cho phép bạn đi xuống dưới cùng hoặc trên cùng (trừ khi có nhiều nội dung).

Hành vi mà tôi mô tả có được Thư viện hỗ trợ thiết kế hỗ trợ không?

activity.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" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context=".ScrollingActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar" 
     android:fitsSystemWindows="true" 
     android:layout_height="@dimen/app_bar_height_custom" 
     android:layout_width="match_parent" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

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

      <ImageView 
       android:src="@drawable/cuthbert" 
       app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:scaleType="centerCrop" 
       app:layout_collapseMode="parallax" 
       android:minHeight="100dp"/> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_height="?attr/actionBarSize" 
       android:layout_width="match_parent" 
       app:layout_collapseMode="parallax" 
       app:layout_scrollFlags="scroll|enterAlways" 
       app:popupTheme="@style/AppTheme.PopupOverlay" /> 
     </android.support.design.widget.CollapsingToolbarLayout> 
    </android.support.design.widget.AppBarLayout> 

    <include layout="@layout/content_scrolling"/> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="@dimen/fab_margin" 
     app:layout_anchor="@id/app_bar" 
     app:layout_anchorGravity="bottom|end" 
     android:src="@android:drawable/ic_dialog_email"/> 

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

content_scrolling.xml:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:showIn="@layout/activity_scrolling" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".ScrollingActivity"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="@dimen/text_margin" 
     android:text="@string/large_text"/> 

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

Vì vậy, bây giờ khi bạn di chuyển xuống, các nút cuộn (lags) vào lúc thanh công cụ được ẩn hoàn toàn và bạn cần di chuyển khác để tiếp tục cuộn (cùng xảy ra khi bạn cuộn lên)? –

+0

Khi tôi di chuyển lên hành vi như bạn mô tả. Cuộn xuống khác nhau, vì không thể vuốt bằng Thanh công cụ được mở rộng, thời điểm bạn ngừng chạm vào màn hình, nó sẽ ngừng di chuyển. Tạo Hoạt động cuộn mới trong Android Studio bằng mẫu được cung cấp sẽ cung cấp cho bạn chính xác hành vi này mà tôi mô tả. – dbar

+0

Tìm thấy cách giải quyết khác. Vấn đề này có được báo cáo không ?? – Raghunandan

Trả lời

0

Cố gắng thêm những dòng này trong:

<android.support.design.widget.CollapsingToolbarLayout 
    app:expandedTitleMarginEnd="64dp" 
    app:expandedTitleMarginStart="48dp" 
    app:expandedTitleTextAppearance="@android:color/transparent" 
0

thư viện Cập nhật hỗ trợ 26.0.0 (đặc biệt là thiết kế thư viện hỗ trợ). Cuối cùng họ đã khắc phục vấn đề này sau nhiều năm phàn nàn.

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