Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Need to set the Scrollbar always visible #1596

Closed
Sivaraman761 opened this issue Jan 17, 2018 · 8 comments
Closed

Need to set the Scrollbar always visible #1596

Sivaraman761 opened this issue Jan 17, 2018 · 8 comments
Labels
partner Issue submitted by partner or related open source project proposal-open t/enhancement ➕

Comments

@Sivaraman761
Copy link

Sivaraman761 commented Jan 17, 2018

Description

We have try to set the horizontal and vertical scrollbar is always visible in view. But currently, the scrollbar is visible only when we scroll the view. But we need to set the scrollbar visibility as true.

We have attached the sample for your reference. Can you please check this and let, us known In case of any concern.

Steps to Reproduce

  1. Run the sample.
  2. scroll the view then only the scrollbar comes to view.

Expected Behavior

Need to set the horizontal and vertical scrollbar as always visible.

Actual Behavior

Currently, scrollbar visible only while scrolling the view .

  • Version with issue:
  • Last known good version:
  • IDE:
  • Platform Target Frameworks:
    • iOS:
    • Android:
    • UWP:
  • Android Support Library Version:
  • Nuget Packages:
  • Affected Devices:

Screenshots

Reproduction Link

Regards,
Sivaraman
WorkingWithListview (2).zip

@StephaneDelcroix
Copy link
Member

We don't support this at the moment. I guess we could enable it, at least per platform, with PlatformSpecifics.

In the meantime, you might be able to turn it on with an Effect

@davidortinau
Copy link
Contributor

We now have ScrollBarVisibility however there isn't a mode equivalent to this. "Always" is the default behavior where the scrollbars are only visible during scroll.

VerticalScrollBarVisibility="Always"
HorizontalScrollBarVisibility="Always"

@jfversluis when you were implementing this, did you look into making the scrollbars visible 100% of the time?

Judging just by StackOverflow conversations about this it seems to be doable, and not totally uncommon, but also a possibly frowned upon design choice. All things to consider in this discussion.

@jfversluis
Copy link
Member

jfversluis commented Jan 18, 2019

As you mention @davidortinau, Always is the default OS behavior in this case. So, if we were to introduce this, it will probably be breaking because Always would get a different meaning.

As to your question, if I looked into this; I didn't look into this specific scenario. And as you already mention yourself, a quick Google desk research learns that there are ways, but they seem hacky. Especially for iOS. Apple actively discourages this in their Human Interface Guidelines. As a part of that, I'm pretty sure they also don't have an easy API to change the default behavior. It's either never shows it, or the default behavior, which hides it after about a second after stop scrolling. The API on iOS is simply a bool: show the scroll indicator true or false.

So I agree to what has been said, it is possible, but seeing all the obstacles from different angles, I'm not sure if it's worth the trouble

@DineshBabuYadav
Copy link

Can you update the timeline?

@DineshBabuYadav
Copy link

@samhouts , Can you please update on this?

@samhouts samhouts added the partner Issue submitted by partner or related open source project label Jul 31, 2019
@Sangeetha-Raju
Copy link

Can you please update timeline for this issue?

@samhouts samhouts added inactive Issue is older than 6 months and needs to be retested help wanted We welcome community contributions to any issue, but these might be a good place to start! up-for-grabs We welcome community contributions to any issue, but these might be a good place to start! proposal-open and removed help wanted We welcome community contributions to any issue, but these might be a good place to start! up-for-grabs We welcome community contributions to any issue, but these might be a good place to start! labels Feb 4, 2020
@bruzkovsky
Copy link
Contributor

I agree with @jfversluis that the implementation on iOS is rather hacky. The is a SO post which describes a way to let the scroll indicator flash when the view is displayed, and you could implement this as an Effect: https://stackoverflow.com/questions/13697215/make-scrollbar-always-visible-on-uiscrollview

As @StephaneDelcroix suggested, making this a platform-specific would be most sensible IMHO. The effort is manageable and it would help to solve a not-so-special problem without writing your own Effects.

Regarding the "bad design" argument, what else should we do to show the user that he/she can scroll the items? You could ensure that the last item is always cut-off, but in a vertical list with text items (variable row height, line-breaks), this also requires some serious effort (correct me if I'm wrong).

@samhouts samhouts removed the inactive Issue is older than 6 months and needs to be retested label Jul 17, 2020
@jfversluis
Copy link
Member

Safe to say that we're not going to implement this in Xamarin.Forms anymore. If you're still interested in this please open a feature request on the .NET MAUI repository. Maybe even better; open a discussion first so we can involve different people and opinions on this first.

Thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
partner Issue submitted by partner or related open source project proposal-open t/enhancement ➕
Projects
None yet
Development

No branches or pull requests

8 participants