Xamarin.Forms 2.3.1-stable

2

Posts

  • ThomasHagstrmThomasHagstrm SEMember ✭✭

    @ThomasHagstrm said:
    I'm looking forward to a stable of this version since it equals Prism.Forms support, but right now it does indeed have issues:

    Turning on linker for iOS causes build error with VisualElement.cs as I've reported here:

    https://bugzilla.xamarin.com/show_bug.cgi?id=42352

    Failed to resolve "System.Void Xamarin.Forms.VisualElement::InvalidateMeasure()" reference from "Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"

    Obviously I've tried excluding Xamarin.Forms.Core from linking. Hope it can be fixed for next version.

    This was because a third party library - FFImageLoading. Updating the lib to Pre as well solved the iOS linker issue.
    Try that if you're having issues, @AdrianKnight @JohnHair

  • MichaelRumplerMichaelRumpler ATMember ✭✭✭✭

    @ThomasHagstrm

    How did you find out, which library caused the trouble? I get the same error, but I do not use FFImageLoading.

    I also rely on the fix for bug 40333 in 2.3.1-pre1, so I cannot easily step back. If I revert to an older XF version, then I have to go to 2.1.0.6508 and change a bunch of other libs to older versions too.

  • rmarinhormarinho PTMember, Insider, Beta Xamurai

    Hi @DirkWilhelm thanks i found the issue, we have a pr up for it will be in 2.3.1-pre3.

    https://github.com/xamarin/Xamarin.Forms/pull/248

  • ThomasHagstrmThomasHagstrm SEMember ✭✭

    @MichaelRumpler
    As per Xamarin's recommendation, I created a new project to reproduce the issue.
    Still in debug mode I set my linker to "Link SDK Assemblies Only".
    I then added one NuGet-package at a time, of those my real project use.
    It's worth the effort, to have an isolated project only testing the package compatibility.

  • FrozengnuFrozengnu DKUniversity ✭✭

    TapGestureRecognizer on GridLayout/Droid does not fire.

  • MichaelRumplerMichaelRumpler ATMember ✭✭✭✭

    I hate this!

    A few days ago I updated to XF 2.3.1-pre2. It worked fine as long as I only compiled for Android.
    Yesterday I tried iOS and got

    Failed to resolve "System.Void CoreGraphics.CGSize::.ctor"

    I found a thread which said that I should update Xamarin to the latest stable versions. I was still on Cycle 6 cause the early cycle 7 builds always caused my Android app to hang. See bug 38982.
    I read somewhere that they fixed a bug which sounded like the one I ran into, I just couldn't check it cause the bug they fixed was internal and I couldn't open it. So I updated to cycle 7. Then I got

    Failed to resolve "Mono.Security.Protocol.Ntlm.MessageBase"

    Xamarin moved that class to a different dll and Rebex still referenced the old one. After updating Rebex I got

    Failed to resolve "System.Void Xamarin.Forms.VisualElement::InvalidateMeasure()"

    Well, I think this is caused by the DevExpress Grid. But I'm not sure. The test project I build with just that failed at the same position in the Xamarin.iOS.Common.targets file, but with a different error. However, if it is DevExpress, then they won't fix it until 2.3.1 is officially out. They already told me before that they only build for stable XF versions.

    So I had enough and reverted to Xamarin.Forms 2.1.0.6508-pre3 - the one before they introduced bug 40333 which kept me from updating for so long. Of course I also needed to revert all dependencies to old versions. After some troubles with the Resource.designer.cs file I merged my solution with the one from source control from before the XF update. Apparently just installing an older version with the NuGet package manager does not work.

    Now I lost two days and I'm back where I was yesterday morning only that I get

    Java.Lang.NoSuchFieldError: No static field Theme of type [I in class Landroid/support/v7/appcompat/R$styleable; or its superclasses (declaration of 'android.support.v7.appcompat.R$styleable' appears in /data/app/myapp/base.apk)

    when I try to run my Android app.

    Has anybody seen that error before?

  • MichaelRumplerMichaelRumpler ATMember ✭✭✭✭

    The VisualElement.InvalidateMeasure() call is definitely in the DevExpress Grid.

    But Xamarin, how can you just change any previously public method signatures? Of course everybody who used the old one must fail. The correct way to do this is:

    • add the new overload
    • call the new overload from the old one
    • mark the old method as obsolete

    This way everything which uses the old signatures still works, they only get a compile warning. They can change their code for the next version.

  • JohnHairJohnHair GBMember ✭✭✭✭

    @MichaelRumpler dont forget this is a pre release, if they released this as stable however...

  • MichaelRumplerMichaelRumpler ATMember ✭✭✭✭

    @JohnHair
    If they pushed it out in the pre release and nobody complains about it or tells them how to do it better, then they will also release it as stable.

    If it were stable, then I could tell DevExpress to update their Grid. But they already told me before, that they only fix bugs coming from stable Forms versions and not from pre release. I do understand that, but it's still annoying.

    My app doesn't work on Android at all because of bug 40333. Xamarin fixed that now (after 3 months), but I can't use the fix, cause it breaks the DX Grid which I also depend on. So I'm still stuck with XF 2.1.0.6108-pre3.

  • JohnHairJohnHair GBMember ✭✭✭✭

    @MichaelRumpler very true, if this breaking change is by design and not a bug then it needs to be in the release notes as such (I read but didn't spot this change, so I could be wrong. I often am)

  • EZHartEZHart USXamarin Team Xamurai

    @MichaelRumpler @JohnHair @ThomasHagstrm No, this change was definitely not intentional. The parameterless overload of InvalidateMeasure() was accidentally turned into an overload of InvalidateMeasureInternal(). We've got a fix in for the issue, and it'll be in an upcoming release.

  • MichaelRumplerMichaelRumpler ATMember ✭✭✭✭

    @EZHart said:
    We've got a fix in for the issue, and it'll be in an upcoming release.

    Good to know, thanks! Looking forward to it.

  • JohnHairJohnHair GBMember ✭✭✭✭

    @rmarinho I have found an issue with 39486, the uneven row heights fix. If I have a custom renderer for the cell and run:

    cell.Accessory = UITableViewCellAccessory.DisclosureIndicator;

    The height is now slightly wrong depending upon how much else the cell contains.

  • AdrianKnightAdrianKnight USMember ✭✭✭✭

    Not sure at what point this got broken, but SetHasNavigationBar(this, false) does not work. See https://bugzilla.xamarin.com/show_bug.cgi?id=41480

  • ThomasHagstrmThomasHagstrm SEMember ✭✭

    @AdrianKnight said:
    Not sure at what point this got broken, but SetHasNavigationBar(this, false) does not work. See https://bugzilla.xamarin.com/show_bug.cgi?id=41480

    So you get an navigation bar on UWP? I do not at all, @AdrianKnight , as stated in this uncommented, unsolved bug:
    https://bugzilla.xamarin.com/show_bug.cgi?id=40073

  • AdrianKnightAdrianKnight USMember ✭✭✭✭

    @ThomasHagstrm I don't do UWP. I saw this bug on iOS. Need to test it on Android as well. SetHasNavigationBar(this, false) works at content page level but it does not work at navigation page level. I literally have to hide the navigation bar for each page. I remember needing to do this only once (hide it everywhere with a single method call until you display it again).

  • DirkWilhelmDirkWilhelm USMember ✭✭✭

    Using XamlCompilation in DataTemplates breaks the layout.

    I created a sample project with two ViewCell that have the same xaml layout:

    <StackLayout  Padding="4,1,4,1" >
        <Grid BackgroundColor="{Binding UIColor}" Padding="5" HeightRequest="75">
          <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
          </Grid.RowDefinitions>
    
          <Grid.ColumnDefinitions>
            <ColumnDefinition Width="30"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="40"/>
          </Grid.ColumnDefinitions>
    
          <Label Grid.Row="0" Grid.Column="0" Text="{Binding Name}" TextColor="#FFFFFF" XAlign="End" YAlign="Center"/>
          <Label Grid.Row="0" Grid.Column="1" Text="{Binding Comment}" TextColor="#FFFFFF" YAlign="Center" LineBreakMode="WordWrap"/>
        </Grid>
      </StackLayout>
    

    In the code behind files i activate xaml compilation in only one of the ViewCell.

    The result can be seen in the attached screenshot.

    The cell without the xaml compilation is displayed as expected (it is the cells with the white text color and the padding around the cell).

    The cell with the xamlc compilation results in a wrong text color, missing paddings and incorrect gridcolumn widths (see the cells with the black text color in the screenshot)

  • CallumMorrisCallumMorris USMember

    ceers bri <3

  • scottrsimmsscottrsimms AUMember

    I am trying out Themes (Light) on XF 2.3 and finding that Labels on Lollipop have a white font colour so they are not visible as the StackLayout colour is also white.

    Is there anything specific that needs to be done to get the Label font colour to be black?

  • GeoxionGeoxion NLMember

    I really hope that Pull 244 get's put in the next release!
    It would fix the Tabbedpage bartextcolor on UWP.
    https://github.com/xamarin/Xamarin.Forms/pull/244

    I kinda need that tight now :)

  • MichaelRumplerMichaelRumpler ATMember ✭✭✭✭

    @Geoxion
    It's already been merged into master, so I guess it should be in the next version. I definitely hope so. I don't wait for that change, but for three others which have also already been merged but not released.

  • JohnHardmanJohnHardman GBUniversity ✭✭✭✭✭

    I am seeing 2.3.1.114 in the stable channel, but cannot find any release notes. Are they accessible anywhere - they aren't in the usual place of https://developer.xamarin.com/releases/xamarin-forms/xamarin-forms-2.3/

  • Shane000Shane000 USMember ✭✭✭

    @JohnHardman
    2.3.1-stable
    No changes since 2.3.1-pre3.

    from the edited root post. Looks like nothing has be changed in the several weeks that pre3 has been up.

  • BryanHunterXamBryanHunterXam USXamarin Team Xamurai
    edited August 2016

    @JohnHardman said:
    I am seeing 2.3.1.114 in the stable channel, but cannot find any release notes. Are they accessible anywhere - they aren't in the usual place of https://developer.xamarin.com/releases/xamarin-forms/xamarin-forms-2.3/

    Hi John. Copies of the release notes are in multiples places...

  • BryanHunterXamBryanHunterXam USXamarin Team Xamurai

    @ShanePope said:
    @JohnHardman
    2.3.1-stable
    No changes since 2.3.1-pre3.

    from the edited root post. Looks like nothing has be changed in the several weeks that pre3 has been up.

    Correct.

    2.3.2-pre1 has several bug fixes. It was scheduled to ship yesterday alongside 2.3.1-stable, but there was a build snag. Guessing 2.3.2-pre1 will be later today.

  • JohnHardmanJohnHardman GBUniversity ✭✭✭✭✭
    edited August 2016

    @BryanHunterXam - Many thanks - it's the Docs one I look for. The markdown build must have taken a while, as the notes are there now.

    With my former ALM/Release Manager hat on, it seems a little unusual to have one output from a build process being published before other parts of the build have even completed, but I'm perhaps a bit old school in that respect :-)

    Thanks again.

  • scottrsimmsscottrsimms AUMember
    edited August 2016

    Receiving an exception after upgrading on Android. Appears to only occur when using PushModalAsync on a NavigationPage:

    java.lang.ClassCastException: maps.ad.n cannot be cast to android.view.ViewGroup
    at android.support.v4.app.BackStackRecord.configureTransitions(BackStackRecord.java:1165)
    at android.support.v4.app.BackStackRecord.beginTransition(BackStackRecord.java:1057)
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:662)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
    at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5221)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

  • TrevorCoxTrevorCox CAMember ✭✭
    edited August 2016

    After upgrading to Xamarin Forms 2.3.1, our app works great on Android 6.0.1, but on Android 5.1.1 (emulator and Samsung device), every page I navigate to with PushAsync is invisible. The keyboard pops up if there is a form, but I can't see the form, and I can't see the back button but I can tap the hamburger icon to return to the initial MasterDetail page.

  • rmarinhormarinho PTMember, Insider, Beta Xamurai
    edited August 2016

    Hi @TrevorCox Do you have all the Android sdks updated?

    @scottrsimms can you shows a simple reproduction, i m not getting that in my tests.

  • TrevorCoxTrevorCox CAMember ✭✭

    Further to my comment re Xamarin Forms 2.3.1 and Android 5.1.1, I will add that I have the issue with:

    • Xamarin Forms 2.3.1 or 2.3.0.107
    • Xamarin Studio 6.0.2
    • Xamarin.Android 6.1.2.22 (Latest. Note that reverting to older release does NOT fix issue.)
    • Emulator or Samsung device, API22

    I reverted to Xamarin Forms 2.2.0.45 to resolve the issue.

    I am opening various pages with PushAsync from a MasterDetail page. I can navigate through my MasterDetail ListView pages fine, but when I try call PushAsync from a ListView, the new page does not appear. The keyboard pops up if there is a form, but I can't see the form, and I can't see the back button but I can tap the hamburger icon to return to the initial MasterDetail page.

  • EZHartEZHart USXamarin Team Xamurai

    @TrevorCox Are you using FormsAppCompatActivity or FormsApplicationActivity?

  • TrevorCoxTrevorCox CAMember ✭✭

    @EZHart FormsAppCompatActivity. And again, Xamarin Forms 2.3.1 works fine for me with iOS or Android 6, just not Android 5.
    Also, I've tried PushAsync passing true or false for animation, or using the PushAsync() version with no animation parameter (what's the default? - it's not documented!)

  • scottrsimmsscottrsimms AUMember

    @rmarinho - it will take some time to build a reproduction. The scenario in more detail is:

    The exception only occurs on Android (tested 4.4, 5 & 6) - we are using FormsAppCompatActivity with Themes (Light).

    1. MasterDetail form showing a Google Map with a customer render.
    2. Show any page wrapped with a NavigationPage using PushModalAsync - it appears with a Toolbar and **blank **contents
    3. Show the page again and the exception occurs.
  • JohnErikssonJohnEriksson USUniversity ✭✭

    ​When setting the Accessory on a ViewCell in a custom ViewCellRenderer on iOS (8.4 and 9.3) the layout is broken and starts outside the screen to the left.

    • If we use a TextCell and a TextCellRenderer it works.
    • If we change the caching strategy to RetainElement instead of RecycleElement it works.
    • It works in Xamarin.Forms 2.2.0.45 and 2.3.0.107.
    • It doesn’t work in Xamarin.Forms 2.3.1.114 or 2.3.2.118-pre1

    https://bugzilla.xamarin.com/show_bug.cgi?id=43161

  • AllDayerAllDayer AUMember ✭✭

    39802 I'm still seeing a gap between cells for an iOS listview with RecycleElement. Without RecycleElement it works fine.

    Android seems to be working.

    @JohnEriksson I noticed you reported the original bug, looks like you have some other problems but are you still seeing a gap with iOS and RecycleElement?

  • JohnErikssonJohnEriksson USUniversity ✭✭

    @AllDayer I actually havn't checked if it's still there. We changed our design in a way that's not affected by the gap. :-)

  • scottrsimmsscottrsimms AUMember
    edited August 2016
  • scottrsimmsscottrsimms AUMember

    @rmarinho - reproduction for Modal issue attached. Look in MainPage.xaml.cs for the comments. You will need a valid Google Maps API Key in the Android manifest.

  • scottrsimmsscottrsimms AUMember

    @rmarinho - do you have any update on Modal issue?

    Thanks,

    Scott.

  • scottrsimmsscottrsimms AUMember

    Hi,

    Another repro for the Modal issue this time using Xamarin Forms Maps, see attached. I have tested on Android 5.1 and 6.

    1. Show any page wrapped with a NavigationPage using PushModalAsync - it appears with a Toolbar and **blank **contents
    2. Show the page again and the exception occurs - "Java.Lang.ClassCastException: android.widget.ImageView cannot be cast to android.view.ViewGroup"

    Can you please review and let me know you thoughts? Our app will be going live soon so would appreciate some help on this issue.

    Thanks,

    Scott.

2
Sign In or Register to comment.