readrops / Readrops

Android multi-services RSS client
GNU General Public License v3.0
308 stars 21 forks source link

[Feature Request] Zoom and scroll bars #196

Open talkingseedling opened 2 months ago

talkingseedling commented 2 months ago

While viewing an article, sometimes they'll have embedded images designed for computer screen viewing, which is too small to see on a mobile. Can a pinch to zoom feature be considered?

Both in Timeline and while viewing an article, in versions 1.3.1 there used to be a scroll bar to help you know how far through the list/article you were. Can something similar be considered?

Shinokuni commented 2 months ago

I have deactivated any zoom feature as all kind of content should scaled the right way. If not, that means some CSS tags might override the default html template. I am not really for enabling a pinch to zoom gesture, as you should not need it.

Also, to my knowledge, there never has been scrollbars in v1.3 and older, be it in the main list or in the article screen.

Could you give a reproducible feed so I can investigate?

talkingseedling commented 2 months ago

For scroll bar, see screenshots below of v1.3.1 of article list view, and article reading view Screenshot_20240913_124256_Readrops Screenshot_20240913_124227_Readrops

Both show a scroll bar on the right that appears on scroll, and hides when scrolling stops.

For zoom, all articles seem to always use "fit to width" in all circumstances. So when an article has a high resolution picture of say a screenshot of a computer screen, it's very hard to see. V1.3.1 had a zoom that was sorta hard to use unless your fingers pinched perfectly horizontal, but it worked. Hard to provide a reproducible feed as I put most feeds through a self hosted instance of fivefilters or rssbridge, but https://news.itsfoss.com/latest/rss is one example, article 18 June 2024 "this project lets you run Linux as an Android app" which includes a screenshot, which defaults to "fit to width" and is hard to read.

Does readrops always make all images "fit to width"?

Shinokuni commented 2 months ago

Okay so I completely forgot Readrops v1.3 had scrollbars. Did you find them really useful, as you can't select them?

Otherwise, I better understand your request for zooming on images. Indeed, some can be cumbersome to watch due to the device size. Currently if I enable pinch to zoom, it will be applied on the whole content and not only on the image and I would like to avoid that. But we could have something like opening the image as a popup/dialog and be able to zoom in it.

talkingseedling commented 2 months ago

Yeah I found the scroll bars quite useful. Not for actually scrolling with, but as a graphical representation of progress. You could see how much longer the article was you were reading (between your position and the end), and also roughly how many more articles there was in the timeline (between your position and the top).

For zoom, zooming in on text wouldn't be too bad as you could zoom in to view the image then zoom out again, but I understand why you wouldn't want it like that. Having the image pop up for zoom would also work, but you'd have to deconflict some images being a hyperlink when you tap them. Long holding on each image to select "popup" might feel a bit cumbersome? Not sure what the best tradeoff would be. Maybe a pinch to zoom for everything including text with a toggleable user setting that's disabled by default?

shuvashish76 commented 2 months ago

As I see it's not really a scroll bar...it's a view bar which lets you know where the current screen is in relation to the maximum height. Adding a scroll button would allow users to jump screen quickly.

Please have a look on this library : https://github.com/nanihadesuka/LazyColumnScrollbar (Android Jetpack Compose LazyColumn scrollbar implementation)

talkingseedling commented 2 months ago

Ah yes sorry I wasn't aware of the terminology, I mean view bar.

Shinokuni commented 2 months ago

Okay so I will see what I can do for zooming. For view bars, I would prefer waiting for native support instead of a custom solution. And I'm thinking about a scroll to top button in the timeline tab.