Add scroll up/down

filtering
Floens 10 years ago
parent b6d88ec6b7
commit 36510dc50c
  1. 11
      Clover/app/src/main/java/org/floens/chan/ui/controller/ViewThreadController.java
  2. 4
      Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadListLayout.java
  3. 2
      Clover/app/src/main/res/values/strings.xml

@ -43,6 +43,8 @@ public class ViewThreadController extends ThreadController implements ThreadLayo
private static final int REFRESH_ID = 101; private static final int REFRESH_ID = 101;
private static final int SEARCH_ID = 102; private static final int SEARCH_ID = 102;
private static final int SHARE_ID = 103; private static final int SHARE_ID = 103;
private static final int UP_ID = 104;
private static final int DOWN_ID = 105;
private ToolbarMenuItem pinItem; private ToolbarMenuItem pinItem;
private Loadable loadable; private Loadable loadable;
@ -70,7 +72,9 @@ public class ViewThreadController extends ThreadController implements ThreadLayo
navigationItem.createOverflow(context, this, Arrays.asList( navigationItem.createOverflow(context, this, Arrays.asList(
new FloatingMenuItem(REFRESH_ID, context.getString(R.string.action_reload)), new FloatingMenuItem(REFRESH_ID, context.getString(R.string.action_reload)),
new FloatingMenuItem(SEARCH_ID, context.getString(R.string.action_search)), new FloatingMenuItem(SEARCH_ID, context.getString(R.string.action_search)),
new FloatingMenuItem(SHARE_ID, context.getString(R.string.action_share)) new FloatingMenuItem(SHARE_ID, context.getString(R.string.action_share)),
new FloatingMenuItem(UP_ID, context.getString(R.string.action_up)),
new FloatingMenuItem(DOWN_ID, context.getString(R.string.action_down))
)); ));
loadLoadable(loadable); loadLoadable(loadable);
@ -172,6 +176,11 @@ public class ViewThreadController extends ThreadController implements ThreadLayo
String link = ChanUrls.getThreadUrlDesktop(loadable.board, loadable.no); String link = ChanUrls.getThreadUrlDesktop(loadable.board, loadable.no);
AndroidUtils.shareLink(link); AndroidUtils.shareLink(link);
break; break;
case UP_ID:
case DOWN_ID:
boolean up = ((Integer)item.getId()) == UP_ID;
threadLayout.getPresenter().scrollTo(up ? 0 : -1, false);
break;
} }
} }

@ -325,6 +325,10 @@ public class ThreadListLayout extends LinearLayout implements ReplyLayout.ReplyL
} }
public void scrollTo(int position, boolean smooth) { public void scrollTo(int position, boolean smooth) {
if (position < 0) {
position = recyclerView.getAdapter().getItemCount() - 1;
}
if (smooth) { if (smooth) {
recyclerView.smoothScrollToPosition(position); recyclerView.smoothScrollToPosition(position);
} else { } else {

@ -57,6 +57,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<string name="action_search_image">Image search</string> <string name="action_search_image">Image search</string>
<string name="action_switch_catalog">Catalog mode</string> <string name="action_switch_catalog">Catalog mode</string>
<string name="action_switch_board">Board mode</string> <string name="action_switch_board">Board mode</string>
<string name="action_up">Up</string>
<string name="action_down">Down</string>
<string name="search_hint">Search</string> <string name="search_hint">Search</string>
<string name="search_results">Found %1$s for "%2$s"</string> <string name="search_results">Found %1$s for "%2$s"</string>

Loading…
Cancel
Save