xfangfang / borealis

Hardware accelerated, Nintendo Switch inspired UI library for PC, Android, iOS, PSV, PS4 and Nintendo Switch
Apache License 2.0
31 stars 21 forks source link

views: add ProgressDisplay view #70

Closed PoloNX closed 8 months ago

PoloNX commented 8 months ago

Just made a new view based on an older version of borealis.

I have a small issue, I don't know how to manipulate the height

If I change it in the .xml it doesn't change the value of the height value. I fixed it to 50 which is good but I think it's not very reliable

image

xfangfang commented 8 months ago

just add a function to Slider view, and it will do the same thing.

  void hidePointer()
  {
    Theme theme = Application::getTheme();
    pointer->setColor(theme["brls/slider/line_filled"]);
    pointer->setTranslationX(-3.5);
    pointer->setWidth(14);
    pointer->setHeight(7);
    pointer->setCornerRadius(3.5);
    pointer->setBorderThickness(0);
    pointer->setShadowType(ShadowType::NONE);
    pointer->setFocusable(false);
  }

maybe you can move your change to the slider view ?

And I feel like we don't need a new demo page specifically for slider as we already have one at Basic components tab.


When it comes to the slider, I think one point it can improve on is that the tail of the Slider::lineEmpty will shake when the progress changes. Perhaps we need to place the Slider::lineEmpty at the bottom and overlap the Slider::line on top. It will be more easy to hide the pointer if we do this.


I have a small issue, I don't know how to manipulate the height

you set "grow=1" to ProgressDisplay, I think that is the reason.

XITRIX commented 8 months ago

I would disagree that ProgressBar should have it's own Label inside, as well as so huge paddings around the box.

Dedicated UI component should be self consistent and reusable in any scenario, but presence of label and paddings make it useful in very limited amount of places.

Better if you'll make just a progress bar and separate screen template (like AlertView) which contains label and progress bar, and could be used i.e. as blocking overlay to wait some process to complete.

PoloNX commented 8 months ago

Alright, I'll try all of that in a new pull request to keep things clean.

And I haven't added a label in the progress bar view.

I am a beginner, that's why I don't get everything right on the first try.

XITRIX commented 8 months ago

Sorry, yes, I checked once again, you've made separate ProgressDisplay object, but naming is very confusing, it should be ProgressView, but your ProgressView was a combination of ProgressDisplay and Label, thats why I've misunderstood the content of your PR