Xamarin.Forms 1.3.0 Prerelease 2

TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai
edited December 2014 in Xamarin.Forms

Important Notes

This release (1.3.0-pre2) will be the last release to support the current Preview Unified iOS API. The next release will support the Stable iOS Unified API, which is not ABI/API compatible. This package is not compatible with the new Stable iOS Unified API. Xamarin.Forms 1.3.1 will be simultaneously released when the Stable Unified API releases to the stable channel.

If you are using the Classic iOS API this change does not affect you.

If you are using Unified API you will need to move to 1.3.1 when 1.3.0 final comes out. (1.3.1 is just 1.3.0 + Unified Stable API + a week in pre-release channel)

New API

  • MasterDetailPage.MasterBehavior : Used to control how the MasterDetailPage renderers the split view between the Master and Detail. Allowed values are:

    public enum MasterBehavior
    {
        SplitOnLandscape,
        Split,
        Popover,
        SplitOnPortrait
    }
    
  • VisualElement.Navigation now contains overloads for all Pushing and Popping methods that accept a boolean parameter to enable/disable animations.

  • INavigation contains methods needed for more complex navigation scenarios:

    public interface INavigation
    {
        IReadOnlyList<Page> NavigationStack { get; }
        IReadOnlyList<Page> ModalStack { get; }
    
        void RemovePage (Page page);
        void InsertPageBefore (Page page, Page before);
    
        Task PushAsync (Page page);
        Task<Page> PopAsync ();
        Task PopToRootAsync ();
        Task PushModalAsync (Page page);
        Task<Page> PopModalAsync ();
    
        Task PushAsync (Page page, bool animated);
        Task<Page> PopAsync (bool animated);
        Task PopToRootAsync (bool animated);
        Task PushModalAsync (Page page, bool animated);
        Task<Page> PopModalAsync (bool animated);
    }
    
  • New member on Page: protected virtual bool OnBackButtonPressed (): Override in order to handle physical back button press events. Events bubble down from root page and back up. Unhandled back button events will cause the app to exit. NavigationPage and the Platform still handle the back button as expected, however it is now possible to intercept and modify these behaviors. Not overriding this method retains the existing back button behavior.

  • DependencyService now has Register methods for users needing more advanced ways to register dependencies.
  • WidthRequest, HeightRequest, MinimumWidthRequest, and MinimumHeightRequest are now BindableProperties
  • IViewController, IVisualElementController, and IElementController now available and explicitly implemented on VisualElement. These interfaces will eventually replace all internal API's currently used to communicate between platform renderers and the frontend API.
  • IElementController.SetValueFromRenderer allows for updating of BindableProperties from renderers without accidentally clearing bindings.
  • XAML now supports text as the content node in Label: <Label>Hello World</Label>
  • Pin now has a Clicked property for detecting when the user taps or clicks on a Map pin after the information window is visible.
  • Layout constructor is now marked protected and not internal

Bug Fixes

Core

  • Adding a bad Path to a UriImageSource no longer crashes
  • Improved XAML error reporting
  • Fix crash where calling Navigation.PushAsync from re-initialized View sometimes crashed
  • Fix error where cloning a Binding did not clone the Source parameter
  • IsPresented is now respected correctly when using MasterDetailPage. May throw exception now if IsPresented is set to a disallowed value with MasterBehavior.
  • Several bugs relating to culture invariance in XAML parsing.
  • ThicknessConverter no longer depends on device culture
  • Label properly resizes after setting Label.FontSize/Font/FontAttributes Bug
  • XAML InitializeComponent calls in some apps this will result in a massive performance improvement when loading pages.
  • Serialization now property supports DataMemberAttributes
  • ListView and TableView now return consistent sizing across all platforms. This change should not affect most apps, however some apps suffering from inconsistent sizing with ListViews/TableViews should find the situation better.
  • Small set of changes to Layout to enable performance optimization with unneeded measure invalidation.

iOS

  • Button.Image is now rendered with original image to match other platforms
  • Editor now scrolls to the correct location when a keyboard is shown
  • Fix NullReferenceException when assigning to SearchBar.BackgroundColor
  • Fix issue where PushModalAsync could sometimes result in a unhandled exception from UIKit.
  • MasterDetailPage now disposes of child renderers correctly, resolves a memory leak.
  • Fix issue where cells could not be unselected using blank rows.
  • WebViewRenderer now uses correct path for finding resources
  • Resolve issue where calling CreateViewController multiple times would cause an exception
  • Use proxy when downloading images if configured on device.
  • Partial swipes on a NavigationPage no longer cause the NavigationPage to get out of sync with the UINavigationController
  • ActionSheet now correctly shows on iOS 8
  • ActionSheet no longer gets incorrectly positions when rotating while visible.
  • Assigning to Application.MainPage now works reliably

Android

  • MasterDetailPage container width now matches android design guidelines on tablets. (No longer insanely wide).
  • SwitchCell height is no longer squished
  • No longer crashes on Android 5.0
  • No longer renders with a black bar at the bottom of Android 5.0 devices
  • Other compatibility fixes with Android 5.0
  • WebViewRenderer now uses correct path for finding resources
  • Fix issue where calling SetPage multiple times would throw an exception
  • Fix crash when restarting the Activity introduced in last pre-release
  • Assigning to Application.MainPage now works reliably

WinPhone

  • Assigning to Application.MainPage now works reliably
  • Application.OnStart now is called correctly

Still to come

Some things coming post-1.3:

  • Android bitmap optimization (automatic downsampling to prevent OOM exceptions with large images)
  • WinRT support (Windows & Windows Phone 8.1)
  • Bug fixes as always
  • CarouselView
  • Much much more
«13

Posts

  • voidvoid DKBeta ✭✭✭

    Looking forward to try it out!

  • ChaseFlorellChaseFlorell CAInsider, University mod

    YAY!!! Thanks guys!

  • GarryWhittaker.3919GarryWhittaker.3919 GBUniversity ✭✭

    The new MasterBehavior would have saved me tons of work on a previous app. Really appreciated.

  • adamkempadamkemp USInsider, Developer Group Leader mod

    INavigation contains methods needed for more complex navigation scenarios:

    YISSS!

    OnBackButtonPressed

    Also very much needed. Awesome!

  • GeoffArmstrongGeoffArmstrong CAMember ✭✭
    edited December 2014

    Crash report: if you launch an application in Android and then hit the Back button to exit the application, it crashes. Relevant stack trace at the end of the log:

    [art] Explicit concurrent mark sweep GC freed 3910(168KB) AllocSpace objects, 15(240KB) LOS objects, 39% free, 8MB/14MB, paused 701us total 20.507ms
    [mono-rt] Stacktrace:
    [mono-rt] 
    [mono-rt] 
    [mono-rt] =================================================================
    [mono-rt] Got a SIGSEGV while executing native code. This usually indicates
    [mono-rt] a fatal error in the mono runtime or one of the native libraries 
    [mono-rt] used by your application.
    [mono-rt] =================================================================
    [mono-rt] 
    [libc] Fatal signal 11 (SIGSEGV), code 2, fault addr 0xbe5a0fe8 in tid 29844 (product.android)
    

    It pops up the "[product] has stopped responding" modal window.

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @GeoffArmstrong‌ can I get some info about the android device?

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @GeoffArmstrong‌ can you make sure all your projects upgraded correctly?

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    Updated description of iOS 64 bit switchover for unified stable api. Due to internal... things... 1.3.0 will not support iOS 64-bit Unified as exists on the stable channel. Instead 1.3.1-pre1 will be released same day as 1.3.0 final with support for alpha channel 64 bit API. This is due to ABI/API breakage of Unified API and the desire not to release a stable version of Xamarin.Forms supporting the preview API.

  • GeoffArmstrongGeoffArmstrong CAMember ✭✭

    @JasonASmith‌ It was on a Google Nexus 7 (2013) running Android 5.0.1.
    Also checked on a Nexus 5 running Android 5.0; same except for the fault address (0xbe367fe8). Not sure if that is useful.

    A blank XF app (File New + upgrading to latest XF prerelease) doesn't seem to exhibit this behavior. It's just new on our app from 1.3.0pre1 to 1.3.0pre2.

    The packages did update correctly. No errors in the Package Console and right-clicking them in the list reports the correct version number for all three projects (PCL, Android, iOS).

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    Can you get me the full console log?

  • DH_HA1DH_HA1 USMember ✭✭✭
    edited December 2014

    @JasonASmith‌ I am still getting the NRE on PushToRootAync with a Map in the Page. Same as I posted in 1.3.0-pre1 https://forums.xamarin.com/discussion/comment/88088/#Comment_88088

        System.NullReferenceException: Object reference not set to an instance of an object
          at Xamarin.Forms.Maps.iOS.MapRenderer.Dispose (Boolean disposing) [0x00000] in <filename unknown>:0
          at MonoTouch.Foundation.NSObject.Dispose () [0x00000] in /Developer/MonoTouch/Source/maccore/src/Foundation/NSObject2.cs:127
          at Xamarin.Forms.Platform.iOS.Platform.DisposeModelAndChildrenRenderers (Xamarin.Forms.Element view) [0x00000] in <filename unknown>:0
          at Xamarin.Forms.Platform.iOS.Platform.HandleChildRemoved (System.Object sender, Xamarin.Forms.ElementEventArgs e) [0x00000] in <filename unknown>:0
          at Xamarin.Forms.Element.OnDescendantRemoved (Xamarin.Forms.Element child) [0x00000] in <filename unknown>:0
          at Xamarin.Forms.Element.OnChildRemoved (Xamarin.Forms.Element child) [0x00000] in <filename unknown>:0
          at Xamarin.Forms.Page.OnInternalRemoved (Xamarin.Forms.VisualElement view) [0x00000] in <filename unknown>:0
          at Xamarin.Forms.Page.InternalChildrenOnCollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00000] in <filename unknown>:0
          at System.Collections.ObjectModel.ObservableCollection`1[Xamarin.Forms.Element].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00014] in ///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.43/src/mono/mcs/class/System/System.Collections.ObjectModel/ObservableCollection.cs:161
          at System.Collections.ObjectModel.ObservableCollection`1[Xamarin.Forms.Element].RemoveItem (Int32 index) [0x0001a] in ///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.43/src/mono/mcs/class/System/System.Collections.ObjectModel/ObservableCollection.cs:182
          at System.Collections.ObjectModel.Collection`1[Xamarin.Forms.Element].Remove (Xamarin.Forms.Element item) [0x00011] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.ObjectModel/Collection.cs:134
          at Xamarin.Forms.NavigationPage.<PopToRootAsync>b__19 (Xamarin.Forms.Element c) [0x00000] in <filename unknown>:0
          at Xamarin.Forms.EnumerableExtensions.ForEach[Element] (IEnumerable`1 enumeration, System.Action`1 action) [0x00000] in <filename unknown>:0
          at Xamarin.Forms.NavigationPage+<PopToRootAsync>d__1c.MoveNext () [0x00000] in <filename unknown>:0
    
  • chris_riesgochris_riesgo USUniversity ✭✭✭

    Can't wait to fire this up :)

  • Crash. Simple Android map app that worked under previous pre-release no longer works with latest packages. Compiles, but crashes during runtime (on several devices as well as emulator) :

    Fails on this line: Xamarin.FormsMaps.Init(this, bundle);

    System.TypeLoadException has been thrown

    Could not load type 'Android.Gms.Common.GooglePlayServices' (see screen grab)

    Packages:

    Xamarin.Android.* ver 21

    Xamarin.Google.PlayServices ver 21

    Xamarin.Forms ver 1.3.0.6280-pre2

    Xamarin.Forms.Maps ver 1.3.0.6280-pre2

    This will work with iOS unified app on iOS device and emulator. So, iOS good; Android bad...

    Thoughts?

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @WolfTek.3837‌ looks like you either are somehow not referencing GPS or are referencing the wrong version. Depending on how things are looking with 1.3.1 we will probably be taking the time to update our dependencies.

  • Same Crash here as WolfTek.3837.

    12-10 09:50:41.967 W/ ( 725): Missing method IsGooglePlayServicesAvailable in assembly /mnt/sdcard/Android/data/XXX/files/.override/Xamarin.Forms.Maps.Android.dll, type Android.Gms.Common.GooglePlayServicesUtil

    12-10 09:50:41.967 W/Mono ( 725): The class Android.Gms.Common.GooglePlayServicesUtil could not be loaded, used in Xamarin.Forms.Maps.Android

    System.TypeLoadException: Could not load type 'Android.Gms.Common.GooglePlayServicesUtil' from assembly 'Xamarin.Forms.Maps.Android'.

    Xamarin.Android: 4.20.0.28

    Xamarin.Forms.Core: 1.3.0.6280-pre2

    Xamarin.Forms.Platform.Android: 1.3.0.6280-pre2

    Xamarin.Forms.Maps: 1.3.0.6280-pre2

    Xamarin.Forms.Maps.Android: 1.3.0.6280-pre2

    GooglePlayServiceLib: 21.0.0.0

  • AndreZinnerAndreZinner DEMember
    edited December 2014

    Hi, I think the bug 'IOS: MasterDetailPage now disposes of child renderers correctly, resolves a memory leak.' should not be closed.

    As with the pre1, disposing a content page with a map (during assignment of a new detail page) still crashes with the following stack trace:

    System.NullReferenceException: Object reference not set to an instance of an object
    at Xamarin.Forms.Maps.iOS.MapRenderer.Dispose (Boolean disposing) [0x00000] in :0
    at MonoTouch.Foundation.NSObject.Dispose () [0x00000] in /Developer/MonoTouch/Source/maccore/src/Foundation/NSObject2.cs:127
    at Xamarin.Forms.Platform.iOS.Platform.DisposeModelAndChildrenRenderers (Xamarin.Forms.Element view) [0x00000] in :0
    at Xamarin.Forms.Platform.iOS.Platform.HandleChildRemoved (System.Object sender, Xamarin.Forms.ElementEventArgs e) [0x00000] in :0
    at Xamarin.Forms.Element.OnDescendantRemoved (Xamarin.Forms.Element child) [0x00000] in :0
    at Xamarin.Forms.Element.OnChildRemoved (Xamarin.Forms.Element child) [0x00000] in :0
    at Xamarin.Forms.Page.OnInternalRemoved (Xamarin.Forms.VisualElement view) [0x00000] in :0
    at Xamarin.Forms.Page.InternalChildrenOnCollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00000] in :0
    at System.Collections.ObjectModel.ObservableCollection1[Xamarin.Forms.Element].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00014] in ///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.43/src/mono/mcs/class/System/System.Collections.ObjectModel/ObservableCollection.cs:161 at System.Collections.ObjectModel.ObservableCollection1[Xamarin.Forms.Element].RemoveItem (Int32 index) [0x0001a] in ///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.43/src/mono/mcs/class/System/System.Collections.ObjectModel/ObservableCollection.cs:182
    at System.Collections.ObjectModel.Collection`1[Xamarin.Forms.Element].Remove (Xamarin.Forms.Element item) [0x00011] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.ObjectModel/Collection.cs:134
    at Xamarin.Forms.MasterDetailPage.set_Detail (Xamarin.Forms.Page value) [0x00000] in :0
    at MasterDetail.App.m__0 (System.Object o) [0x00011] in /Users/Andre/Projekte/mobile/MasterDetail/MasterDetail/App.cs:23
    at Xamarin.Forms.Command.Execute (System.Object parameter) [0x00000] in :0
    at Xamarin.Forms.Button.Xamarin.Forms.IButtonController.SendClicked () [0x00000] in :0
    at Xamarin.Forms.Platform.iOS.ButtonRenderer.OnButtonTouchUpInside (System.Object sender, System.EventArgs eventArgs) [0x00000] in :0
    at MonoTouch.UIKit.UIControlEventProxy.Activated () [0x00007] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIControl.cs:33
    at at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
    at MonoTouch.UIKit.UIApplication.Main (System.String[] args, IntPtr principal, IntPtr delegate) [0x00005] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:62
    at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00038] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:46
    at MasterDetail.iOS.Application.Main (System.String[] args) [0x00008] in /Users/Andre/Projekte/mobile/MasterDetail/iOS/Main.cs:17

    Use this code the reproduce the problem ...

        using System;
        using Xamarin.Forms;
        using Xamarin.Forms.Maps;
    
        namespace MasterDetail
        {
            public class App : Application
            {
                MasterDetailPage _masterDetailPage = null;
    
                public App ()
                {
                    _masterDetailPage = new MasterDetailPage {
    
                        Master = new ContentPage {
                            Title = "Master",
                            Content = new Button { 
                                Text = "Click to crash",
                                Command = new Command (o =>
                                {
                                    // When this new detail page is assigned,
                                    // the disposing of the previous seletced detail page with the map crashes ....
                                    _masterDetailPage.Detail = new NavigationPage (new ContentPage{ });
                                })
                            }
                        },
    
                        Detail = new NavigationPage (
                            new ContentPage { 
                                Content = new Map () 
                            })
                    };
    
                    MainPage = _masterDetailPage;
                }
            }
        }
    
  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    We have resolved the map issue, null check was missing. All our tests case turned on a feature that caused a value to never be null. There is now a test case where it will be null and the case will crash if we regress this. There will be a 1.3.0-pre3 very shortly containing this and 3 or 4 other minor fixes.

    As for GPS. It appears somewhere between GPS 16 and 21, they removed some API we were using. Make sure you use the GPS version referenced by the nuget package. We will update that dep soon (we have been avoiding it until now because we didn't want to force it on people, but now that there is an API break we are pretty much forced to).

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai
    edited December 2014

    @GeoffArmstrong‌ need a console log from the crash :) We are not able to reproduce the issue here. Have you ported to the Application API? Shouldn't be required but its good information when debugging this kind of issue.

  • FredyWengerFredyWenger CHInsider ✭✭✭✭✭

    @JasonASmith‌:
    I don't see, that the following bugs are solved in Pre-2:

    • Slider don't work in iOS (bug from Pre-1)
    • ListView in ScrollView can't be scrolled on Android
    • StackView can be scrolled over another StackView in ScrollView
      Without these fixes, our app is not servable (since Pre-1).
      Are these bug really not solved in Pre-2?

    If yes, is the fix planned for the next version (Pre-3)?
    Thanks for a short answer....

  • VictorHGarciaVictorHGarcia USUniversity ✭✭

    Hello @JasonASmith‌

    You mentioned that Xamarin.Forms 1.3.0 will be released before Stable Unified API. I would like to know if there is now an ETA of the stable Unified API, so I can start migrating the projects to that. And thanks for release Pre-2, it is time to start testing the new features.

    Thanks in advance.

  • N.PerryN.Perry USMember

    @JasonASmith‌ , is it coincidence that I just rolled my own Navigation Page/Renderer yesterday for a lot of this functionality? :P Glad to see that work is now officially supported!

    git Revert!

    This looks like an awesome release guys! Keep it up!

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @FredyWenger‌

    • Not seeing the slider issue, will dig up your old post to find the reproduction (I know you are pretty good about providing them)
    • ListView inside a ScrollView is not a supported or recommended layout, we've stated this many times. You cause a whole massive host of issues when you do that (even outside of Forms). You basically break virtualization and layout mechanisms.
    • On which platform? As far as I can tell this no longer happens.
  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @VictorHGarcia‌ sorry I can't speak to that.

  • FredyWengerFredyWenger CHInsider ✭✭✭✭✭

    @JasonASmith‌:
    Slider issue (iOS): https://bugzilla.xamarin.com/show_bug.cgi?id=24621

    ListView and StackLayout-Issue:

    ListView inside a ScrollView is not a supported or recommended layout

    ??

    This has worked without problems before Pre-1 (and still works without problems in iOS and WP) ...?
    How should multiple ListViews implemented otherwise on a page (when the page can't show all ListViews and the page has to be scrollable)??

  • ChaseFlorellChaseFlorell CAInsider, University mod
    edited December 2014

    @FredyWenger, a listview is already a scrollview... it's the nature of how it works (so is a webview). Nested scrollviews are a huge pain in the neck, and if it worked for you before, it shouldn't have.

    I have a hackey solution on nesting a webview inside a scrollview, and the principles would apply to a listview as well. Just know that I don't recommend this unless you really know what you're doing.

    https://github.com/FloMediaGroup/fmg-xamarin-forms/tree/master/src/Fmg.XamForms.Renderers.Markdown

  • FredyWengerFredyWenger CHInsider ✭✭✭✭✭
    edited December 2014

    @ChaseFlorell‌:
    Thanks for your reply.
    It can be, that "a ListView is already a ScrollView"... but I think is a "normal need" to show multiple ListViews on a single page and the page has to be scrollable...
    So.. can you answer my question:
    How should multiple ListViews implemented otherwise on a page (when the page can't show all ListViews and the page has to be scrollable)??
    and this... without any hack ;.)

    And.. I'm not the only one...
    forums.xamarin.com/discussion/24905/unable-to-scroll-a-listview-inside-a-scrollview-android

  • powerdudepowerdude USMember ✭✭

    Great changes to INavigation. It would be nice if it also included DisplayAlert and DisplayActionSheet.

  • @JasonSmith: Yeah, I had no direct reference to GPS in the project. Did not dawn on me to go back and do that... duh....

    So, now can't compile for API <=21? Not quite clear on this:

    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: Tool exited with code: 1. Output: max res 19, skipping values-v21
    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/drawable-mdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/drawable-hdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/drawable-xhdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/drawable-hdpi/abc_ab_share_pack_holo_light.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/drawable-xhdpi/abc_ab_share_pack_holo_light.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/drawable-hdpi/abc_spinner_mtrl_am_alpha.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/values-v11/values.xml:50: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/values-v14/values.xml:9: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/values-v11/values.xml:57: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/values-v14/values.xml:17: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/values-v11/values.xml:64: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/values-v14/values.xml:25: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/values-v11/values.xml:71: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

    /Users/ChadMello 1/.local/share/Xamarin/Android.Support.v7.AppCompat/21.0.2/embedded/./res/values-v14/values.xml:33: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

    (Wolf GIS for Android 2)

  • DH_HA1DH_HA1 USMember ✭✭✭

    @WolfTek.3837‌ @JasonASmith‌ I am getting the same android build error as well.

  • @JasonSmith: In addition, ensuring a reference to Xamarin.GooglePlayServices ver 21 still yields my initial error as posted on emulator (cannot test on devices because I cannot compile and deploy to API 19.

  • DanielLDanielL PLInsider ✭✭✭✭

    Really nice release.
    @JasonASmith‌ Do you know if https://bugzilla.xamarin.com/show_bug.cgi?id=24669 is going to be fixed in pre3?

  • ChaseFlorellChaseFlorell CAInsider, University mod

    @FredyWenger‌, take a look at this StackOverflow Answer. If you need two lists, but they need to scroll, you have two options.

    1. Do a foreach and build your own layout
    2. Do a proper ListView with grouping. Group one has the items for list one, Group two has the items for list two. I've done this before with great success.
  • GeoffArmstrongGeoffArmstrong CAMember ✭✭

    @JasonASmith‌ We were able to get it working with no crash on the use of the Back button. The problem seemed to be the Support.v7.MediaRouter and Support.v7.AppCompat packages that were inherited from previous Xamarin.Forms versions. Removing Xamarin Forms and all the support packages, as well as the RecyclerView package, doing a Clean, and then adding them back in seemed to fix things up.

  • FredyWengerFredyWenger CHInsider ✭✭✭✭✭

    @ChaseFlorell‌:

    (Very) unfortunately, I hear that the first time now (ListView should not be used in a ScrollView) and am "shocked" as I have built a great amount of my app with ListViews in ScrollView and this has worked fine before Pre-1.
    And.. I think, I'm not the only one...
    In my app I have a search-page with various ListViews (more then 2).
    E.G one is for select the city/zip-code, and various others for select other search-criterias...
    The ListViews are "coupled" with Searchbar's.
    If the user type text in the SearchBar, the corresponding ListView is showed (isvisible=true) and the items are filtered by the text in the Searchbar. The user then can select a (remaining) entry from the ListView and after an item is selected, the ListView disappears (isvisible = false).
    This works fine in iOS (including filtering more then 4'000 items in ListView to city/zip) and also have worked fine in Android before Pre-1.
    If this do not work anymore (or never should have worked), I have to rebuild a big amount of my app (and don't know how yet)...
    But nevertheless, thanks for your postings... I will (it seems have to!) search for another solutions (no idea yet).
    I don't understand, what you mean with:

    1.Do a foreach and build your own layout

    If you have a idea for a good solution that meet my needs (actually various ListViews, fast filtering of > 4'000 items, select one of the remaining items and all on an user-friendly way) you are (very!) welcome....

  • VincentPoirierVincentPoirier CAMember ✭✭

    Great release! Anyone has an exemple of the BackButton implementation?

  • DH_HA1DH_HA1 USMember ✭✭✭
    edited December 2014

    @JasonASmith‌ Android bug on startup. I am not setting any colors. Although I am using a custom theme built with android holo theme generator. After removing the theme from the manifest the error went away. Obviously we need to have custom android theme support

        System.NullReferenceException: Object reference not set to an instance of an object
          at at Xamarin.Forms.Platform.Android.Platform.UpdateActionBarBackgroundColor () <IL 0x00010, 0x000bc>
          at at Xamarin.Forms.Platform.Android.Platform.set_CurrentNavigationPage (Xamarin.Forms.NavigationPage) <IL 0x000f2, 0x0067f>
          at at Xamarin.Forms.Platform.Android.Platform.UpdateActionBar () <IL 0x0006a, 0x00333>
          at at Xamarin.Forms.Platform.Android.Platform.SetPage (Xamarin.Forms.Page) <IL 0x000b6, 0x00593>
          at at Xamarin.Forms.Platform.Android.FormsApplicationActivity.InternalSetPage (Xamarin.Forms.Page) <IL 0x000cf, 0x004b7>
          at at Xamarin.Forms.Platform.Android.FormsApplicationActivity.SetMainPage () <IL 0x0000c, 0x00077>
          at at Xamarin.Forms.Platform.Android.FormsApplicationActivity.LoadApplication (Xamarin.Forms.Application) <IL 0x00034, 0x001a3>
    
  • @JasonSmith‌ , @DH_HA‌: Removing all packages and then re-adding Xamarin.Forms and Xamarin.Forms.Maps 1.3.0.6280-pre2 packages fixes all crashes and allows me to compile and deploy to my target (API 19). However, now the simple map view (with no code behind) keeps snapping back to its original position, when I try to zoom (in or out) or scroll around on the map. No matter what, it keeps snapping back to the original point I initialized it with. This does not happen on iOS. When I compiled against earlier release, this work just fine. Suggestions?

  • DezMoleskiDezMoleski USMember
    edited December 2014

    With 1.3.0 the Font property is deprecated, and so the previously recommended pattern to initialize a label font like this:

    Font = Font.SystemFontOfSize(NamedSize.Micro)
    

    yields the warning:

    // Warning CS0618: Xamarin.Forms.Label.Font is obsolete:
    // Please use the Font attributes which are on the class itself. Obsoleted in v1.3.0
    

    The font attributes on the class itself FontAttributes (bold,italic,none) and FontFamily (string) are obvious, I suppose, but for FontSize (double) I don't know how to give/get a double value that corresponds to NamedSize.Micro (in some recommended cross-platform way).

    Anyone got a hint for me here? I'd prefer to clean up this warning now and quit ignoring it. Thanks in advance.

    EDIT 1 ...

    I suppose it was too obvious and I posted just 2 minutes too soon... :neutral_face:

    FontSize = Font.SystemFontOfSize(NamedSize.Micro).FontSize
    

    EDIT 2 ...

    Except the too-obvious solution in EDIT 1 above seems to yield a FontSize of zero (maybe) and those labels are now invisible. Back to ignoring the warning I think until I get a clue. :-(

  • GeoffArmstrongGeoffArmstrong CAMember ✭✭

    @DezMoleski‌ Try something like Device.GetNamedSize(NamedSize.Small, new Label()). You can pass in a Label if you have one instead of constructing up a new one.

  • TheRealJasonSmithTheRealJasonSmith USXamarin Team Xamurai

    @WolfTek.3837‌ the android map snapping issue is known and being worked on for pre3

Sign In or Register to comment.