Я пытаюсь создать список с красивым эффектом для обновления, но когда у меня есть RecyclerView внутри SwipeRefreshLayout, эффект overscroll работает только тогда, когда он освежает. Даже для нижней части списка. Что происходит, так это то, что у пользователя нет такой визуальной подсказки, что список закончился.Эффект Overscroll снизу не отображается при использовании RecyclerView внутри SwipeRefreshLayout
Вот мой XML:
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_vew"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.v4.widget.SwipeRefreshLayout>
А Класс Фрагменте:
public class MyListFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener {
private SwipeRefreshLayout swipeRefreshLayout;
private RecyclerView recyclerView;
static final String[] lines = new String[]{
"this is line #1",
"this is line #2"
"this is line #3"
"this is line #4"
"this is line #5"
"this is line #6"
"this is line #7"
};
@Override
public void onRefresh() {
Log.i("QUESTION_LIST_REFRESH", "onRefresh called from SwipeRefreshLayout");
new Handler().postDelayed(new Runnable() {
@Override public void run() {
swipeRefreshLayout.setRefreshing(false);
}
}, 4000);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
recyclerView = (RecyclerView) view.findViewById(R.id.questions_list);
swipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipe_refresh_question_list);
swipeRefreshLayout.setOnRefreshListener(this);
swipeRefreshLayout.setColorSchemeColors(
ContextCompat.getColor(getContext(),R.color.colorPrimaryDark),
ContextCompat.getColor(getContext(),R.color.colorAccent));
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_list, container, false);
recyclerView = (RecyclerView) view.findViewById(R.id.recycler_vew);
recyclerView.setHasFixedSize(true);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(new MyListAdapter(lines));
return view;
}
}
Что вы подразумеваете под термином «overscroll». Не могли бы вы объяснить или представить изображение вопроса о том, чего вы пытаетесь достичь? –