Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[regression/8.0.0-rc.1.9171] RefreshView indicator hidden behind Navigation bar #17610

Closed
KarsaOrlong1981 opened this issue Sep 24, 2023 · 9 comments · Fixed by #19767
Closed
Assignees
Labels
area-controls-refreshview RefreshView fixed-in-8.0.7 fixed-in-9.0.100-preview.1.9973 i/regression This issue described a confirmed regression on a currently supported version p/1 Work that is important, and has been scheduled for release in this or an upcoming sprint platform/android 🤖 t/bug Something isn't working
Milestone

Comments

@KarsaOrlong1981
Copy link

KarsaOrlong1981 commented Sep 24, 2023

Description

When using an RefreshView at .net 8 the indicator at refreshing is always hidden behind navigation bar, before at .net 7 I can see it completly.

.net 8
behind

.net 7
behind7

<ContentPage.Content>
     <RefreshView  >
             <CollectionView 
                  ItemsSource="{Binding Employees}" 
                  ItemTemplate="{StaticResource EmployeeTemplate}" 
                  ItemsLayout="VerticalGrid, 2" />
         </RefreshView>
        

     
 </ContentPage.Content>

Steps to Reproduce

No response

Link to public reproduction project repository

No response

Version with bug

8.0.0-rc.1.9171

Is this a regression from previous behavior?

Yes, this used to work in .NET MAUI

Last version that worked well

8.0.0-preview.7.8842

Affected platforms

Android

Affected platform versions

Android 13

Did you find any workaround?

No response

Relevant log output

No response

@KarsaOrlong1981 KarsaOrlong1981 added the t/bug Something isn't working label Sep 24, 2023
@andyx48
Copy link

andyx48 commented Sep 25, 2023

I'm having the same issue with the version 8.0.0-rc.1.9171

After some investigation i think this commit is causing the issue, seems to be overriding the calculation of the offset value with '50'

As a workaround i have created a handler to grab that calculated value and assign it after connecting the handler

protected override void ConnectHandler(MauiSwipeRefreshLayout platformView)
{

    int deviceOffset = platformView?.ProgressViewEndOffset ?? 0;

    base.ConnectHandler(platformView);

    platformView?.SetProgressViewEndTarget(true, deviceOffset);

}

Hope it helps.

@KarsaOrlong1981
Copy link
Author

Great, thank you I will try it.👌

@ghost ghost added the legacy-area-controls Label, Button, CheckBox, Slider, Stepper, Switch, Picker, Entry, Editor label Sep 25, 2023
@KarsaOrlong1981
Copy link
Author

@andyx48 Perfect, your workaround solve that issue for now. I only have to add this handler to Android, configure it at MauiProgramm and boom.

works

namespace DragAndDropCollectionView.Droid   
{
    public class CustomRefreshViewHandler : RefreshViewHandler
    {
        protected override void ConnectHandler(MauiSwipeRefreshLayout platformView)
        {

            int deviceOffset = platformView?.ProgressViewEndOffset ?? 0;

            base.ConnectHandler(platformView);

            platformView?.SetProgressViewEndTarget(true, deviceOffset);
        }
    }
}

                .ConfigureMauiHandlers(handlers =>
                {
#if __ANDROID__
                    handlers.AddHandler(typeof(RefreshView), typeof(Droid.CustomRefreshViewHandler));
#endif

                });

@jsuarezruiz jsuarezruiz added this to the Backlog milestone Sep 25, 2023
@jsuarezruiz jsuarezruiz self-assigned this Sep 25, 2023
@ghost
Copy link

ghost commented Sep 25, 2023

We've added this issue to our backlog, and we will work to address it as time and resources allow. If you have any additional information or questions about this issue, please leave a comment. For additional info about issue management, please read our Triage Process.

@jsuarezruiz
Copy link
Contributor

The cause of the issue is the same here #17592

@samhouts samhouts changed the title RefreshView indicator hidden behind Navigation bar [regression/8.0.0] RefreshView indicator hidden behind Navigation bar Sep 25, 2023
@samhouts samhouts added the potential-regression This issue described a possible regression on a currently supported version., verification pending label Sep 25, 2023
@samhouts samhouts modified the milestones: Backlog, .NET 8 GA Sep 25, 2023
@samhouts samhouts added i/regression This issue described a confirmed regression on a currently supported version and removed potential-regression This issue described a possible regression on a currently supported version., verification pending labels Sep 28, 2023
@samhouts samhouts changed the title [regression/8.0.0] RefreshView indicator hidden behind Navigation bar [regression/8.0.0-rc.1.9171] RefreshView indicator hidden behind Navigation bar Sep 28, 2023
@samhouts
Copy link
Member

Confirmed that this regressed between 8.0.0-preview.7.8842 and 8.0.0-rc.1.9171. #17080 looks sus.

@Dreamescaper
Copy link

Dreamescaper commented Oct 10, 2023

@PureWeen
So it won't be fixed for .NET 8 GA? I'm wondering why? Is it considered to be a low priority?
I mean, it probably affects almost every app out there...

@samhouts samhouts added the p/1 Work that is important, and has been scheduled for release in this or an upcoming sprint label Oct 20, 2023
@w3ori
Copy link

w3ori commented Nov 23, 2023

Same problem with released 8.0
#18987

@CorentinSwiss4
Copy link

@andyx48 Perfect, your workaround solve that issue for now. I only have to add this handler to Android, configure it at MauiProgramm and boom.

works

namespace DragAndDropCollectionView.Droid   
{
    public class CustomRefreshViewHandler : RefreshViewHandler
    {
        protected override void ConnectHandler(MauiSwipeRefreshLayout platformView)
        {

            int deviceOffset = platformView?.ProgressViewEndOffset ?? 0;

            base.ConnectHandler(platformView);

            platformView?.SetProgressViewEndTarget(true, deviceOffset);
        }
    }
}

                .ConfigureMauiHandlers(handlers =>
                {
#if __ANDROID__
                    handlers.AddHandler(typeof(RefreshView), typeof(Droid.CustomRefreshViewHandler));
#endif

                });

Thanks a lot !

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-controls-refreshview RefreshView fixed-in-8.0.7 fixed-in-9.0.100-preview.1.9973 i/regression This issue described a confirmed regression on a currently supported version p/1 Work that is important, and has been scheduled for release in this or an upcoming sprint platform/android 🤖 t/bug Something isn't working
Projects
Status: Done
10 participants