2016-06-14 13 views
5

Tôi có bố cục sau:ScrollView không bị trượt. Cuộn chậm

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_marginTop="?android:attr/actionBarSize" 
    android:fillViewport="true"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:id="@+id/datatransfer_measure_list_layout_no_data" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <TextView 
       android:id="@+id/datatransfer_measure_list_textview_no_data" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="20dp" 
       android:layout_marginEnd="40dp" 
       android:layout_marginStart="40dp" 
       android:layout_marginTop="20dp" 
       android:gravity="center" 
       android:padding="5dp" 
       android:text="@string/measure_data_empty" 
       android:textColor="@color/textcolorprimary" 
       android:textSize="18sp" /> 

      <View 
       android:layout_width="match_parent" 
       android:layout_height="1dp" 
       android:layout_gravity="center" 
       android:layout_marginBottom="20dp" 
       android:layout_marginEnd="20dp" 
       android:layout_marginStart="20dp" 
       android:background="@android:color/darker_gray" 
       android:importantForAccessibility="no" /> 
     </LinearLayout> 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/datatransfer_measure_list_row_parent" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="15dp" 
      android:clipToPadding="false" 
      android:importantForAccessibility="no" 
      android:paddingBottom="5dp" 
      android:textColor="@color/textcolorprimary" /> 

     <Button 
      android:id="@+id/datatransfer_measure_list_button_send" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginBottom="10dp" 
      android:layout_marginEnd="40dp" 
      android:layout_marginStart="40dp" 
      android:background="@drawable/custom_button_ok" 
      android:gravity="center" 
      android:padding="10dp" 
      android:text="@string/common_save" 
      android:textColor="@drawable/custom_button_positive_text_color" 
      android:textSize="20sp" /> 

     <Button 
      android:id="@+id/datatransfer_measure_list_button_reset" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginBottom="20dp" 
      android:layout_marginEnd="40dp" 
      android:layout_marginStart="40dp" 
      android:background="@drawable/custom_button_cancel" 
      android:gravity="center" 
      android:padding="10dp" 
      android:text="@string/common_cancel" 
      android:textColor="@drawable/custom_button_negative_text_color" 
      android:textSize="20sp" /> 
    </LinearLayout> 
</ScrollView> 

Tôi về cơ bản có ba phần của bố cục này. Đầu tiên một bố trí chỉ chứa một textview để hiển thị nếu không có dữ liệu được thiết lập. Nó trở nên vô hình khi có dữ liệu.

Phần thứ hai là recyclerview của tôi chỉ hiển thị khi một số dữ liệu được đặt.

Phần cuối cùng là hai nút. Vấn đề của tôi với bố cục này? Việc cuộn rất chậm. Tôi không có nghĩa là tụt hậu hoặc một cái gì đó như thế. Tôi chỉ có thể cuộn một phần nhỏ. Nó không giống như các cuộn cuộn khác của tôi, nơi tôi có thể thoát chế độ xem để cuộn tự động. Tôi không có ý tưởng gì là khác nhau với bố trí này và tại sao scrollview hoạt động khác nhau ở đây sau đó trong bố cục khác của tôi. Có cái gì đó ngăn chặn việc trượt scrollview hoặc một cái gì đó như thế?

Trả lời

13

Recyclerview của bạn đang va chạm với ScrollView đó là lý do tại sao cuộn không trơn tru.

Thử tắt cuộn recyclerview.

RecyclerView recyclerView = (RecyclerView)findViewById(R.id.datatransfer_measure_list_row_parent); 
recyclerView.setNestedScrollingEnabled(false) 
+1

Đó là nó. Cảm ơn bạn! – Mulgard

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