Skip to content
Snippets Groups Projects
Commit 1edd7908 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Fixed several UI issues

parent 30600b3f
Branches
Tags
No related merge requests found
......@@ -88,6 +88,8 @@ public class ChatFragment extends BoundFragment {
messageAdapter = new MessageAdapter(getActivity(), context, new AutoScroller(messages));
messages.setAdapter(messageAdapter);
scrollDown.hide();
listener = new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
......@@ -106,12 +108,19 @@ public class ChatFragment extends BoundFragment {
int scrollOffsetFromBottom = recyclerView.computeVerticalScrollRange() - recyclerView.computeVerticalScrollOffset() - recyclerViewMeasuredHeight;
boolean isMoreThanOneScreenFromBottom = scrollOffsetFromBottom > recyclerViewMeasuredHeight;
boolean smartVisibility = scrollDown.getVisibility() == View.VISIBLE || isMoreThanOneScreenFromBottom;
scrollDown.setVisibility((canScrollDown && isScrollingDown && smartVisibility) ? View.VISIBLE : View.GONE);
setScrollDownVisibility(canScrollDown && isScrollingDown && smartVisibility);
}
private void setScrollDownVisibility(boolean visible) {
if (visible)
scrollDown.show();
else
scrollDown.hide();
}
};
messages.addOnScrollListener(listener);
scrollDown.setOnClickListener(view1 -> messages.scrollToPosition(0));
scrollDown.setOnClickListener(view1 -> messages.smoothScrollToPosition(0));
return view;
}
......
......@@ -26,20 +26,18 @@ import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
public class AutoScroller {
private final RecyclerView recyclerView;
private final LinearLayoutManager manager;
public AutoScroller(@NonNull RecyclerView recyclerView) {
this(recyclerView, (LinearLayoutManager) recyclerView.getLayoutManager());
this((LinearLayoutManager) recyclerView.getLayoutManager());
}
public AutoScroller(RecyclerView recyclerView, LinearLayoutManager manager) {
this.recyclerView = recyclerView;
public AutoScroller(LinearLayoutManager manager) {
this.manager = manager;
}
public void notifyScroll() {
if (manager.findFirstVisibleItemPosition() == 0)
manager.smoothScrollToPosition(recyclerView, null, 0);
manager.scrollToPosition(0);
}
}
......@@ -53,7 +53,6 @@
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:tint="@color/colorFillDark"
android:visibility="gone"
app:backgroundTint="#8A808080"
app:elevation="0dip"
app:fabSize="mini"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment