Giter Site home page Giter Site logo

xamarin.plugins's Introduction

Plugins for .NET, Xamarin, and Windows

Here is my essential list of official and community plugins and libraries for applications. You will find a lot of Xamarin and Xamarin.Forms libraries, but also great libraries for .NET that can help power your apps. If you have a favorite library or are the creator of one, please send a PR!

Xamarin.Essentials: The stuff your app needs

Xamarin.Essentials gives developers essential cross-platform APIs for their mobile applications. Xamarin.Essentials exposes over 60 native APIs in a single cross-platform package for developers to consume in their iOS, Android, UWP, or Xamarin.Forms application. Browse through the documentation on how to get started today.

The repository for Xamarin.Essentials can be found at https://github.com/xamarin/Essentials. If you have any suggestions or feature requests, or if you find any issues, please open a new issue.

If you have bene using my plugins, I will continue to support the ones that aren't in Xamarin.Essentials, but I recommend you transition using my guide.

Shiny: That complex stuff made easy

Shiny is an amazing project from Allan Ritchie, Microsoft MPV and long time Xamarin developer, that makes really complex native functionality easy. This includes things such at Bluetooth LE, Background Jobs, HTTP Transers, Push Notifications, NFC, and more.

Community Provided Open Source Plugins

Plugins for Xamarin are community built NuGet and Components that add cross-platform functionality or abstracts platform specific functionality to a common API. These are both completely cross-platform and extremely small (i.e., they do 1 or 2 things really well with minimal-to-no dependencies). The Plugin API can be accessed on each platform, however, you will most likely only use the common API in a .NET Standard project.

Notice: Plugins for Xamarin featured here are produced by the amazing open source community of Xamarin developers. Xamarin does not provide official support for these plugins, please contact their creator with any issues.

Browse through the most popular plugins out there today!

Name Description NuGet Docs & Source Creator
Audio Recorder Record audio on a device's microphone input. NuGet GitHub @NateRickard
Barcode Scanner Scan and create barcodes with ZXing.NET.Mobile. NuGet GitHub @Redth
Breach Detector Detect root, emulation, debug mode and other security concerns. NuGet GitHub @nmilcoff
Calendar Query and modify device calendars NuGet GitHub Caleb Clarke
Config Define the settings of the application for each environment in which it will run. NuGet GitHub @abonilla93
Custom Vision Runs CoreML and TensorFlow models from https://CustomVision.ai on device NuGet GitHub @JimBobBennett
File Picker Pick and save files. NuGet GitHub @studyxnet
File Uploader Upload files using multipart request. NuGet GitHub @rdelrosario
Fingerprint Access Fingerprint sensor on iOS, Android, and Windows. NuGet GitHub @smstuebe
Geolocator Easily detect GPS location of device. NuGet GitHub @JamesMontemagno
Identity Document Scanning Enable scanning of various identity documents in your app. NuGet GitHub @microblink
In-App Billing Make, Query, and get In-App Purchases and Subscriptions. NuGet GitHub @JamesMontemagno
Media Take or pick photos and videos. NuGet GitHub @JamesMontemagno
Media Manager Playback for Audio and Video. NuGet GitHub @mhvdijk
Multilingual Plugin Simple cross platform plugin for handling language localization. NuGet GitHub @CrossGeeks
Screenshot Get and save a screenshot of your apps. NuGet GitHub @wilson_vargasm
Speech Recognition Speech to Text. NuGet GitHub @allanritchie911
Simple Audio Player Play multiple MP3 or wave files from a shared library. NuGet GitHub @adrianstevens
Store Review Ask for store review or launch app store page. NuGet GitHub @jamesmontemagno
Toast A simple way of showing toast/pop-up notifications. NuGet GitHub @AdamPed & @EgorBo
User Dialogs Message box style dialogs. NuGet GitHub @allanritchie911

Data Caching & Databases

Name Description NuGet Docs & Source Creator
Akavache An asynchronous, persistent (i.e. writes to disk) key-value store. NuGet GitHub @paulcbetts
Cosmos DB Azure Cosmos DB is a globally distributed, multi-model database service. NuGet GitHub @azurecosmosdb
LiteDB LiteDB - A .NET NoSQL Document Store in a single data file NuGet GitHub @mbdavid
🐒 Monkey Cache Cache any data structure for a specific amount of time with minimal dependencies. NuGet GitHub @jamesmontemagno
Mono.Data.Sqlite Add Mono.Data.Sqlite to any Xamarin or Windows .NET app. NuGet GitHub @mattleibow
Realm Realm is a mobile database: a replacement for SQLite and ORMs. NuGet GitHub @realm
SQLite-net Simple, powerful, cross-platform SQLite client and ORM for .NET NuGet GitHub @praeclarum

Awesome .NET Libraries For Apps

These are just some awesome libraries that work in any .NET app!

Name Description NuGet Docs & Source Creator
AnyBind Easily bind ViewModel to one or more Models. NuGet GitHub Alexander Kvenvolden
Expressive Expression parsing and evaluation framework NuGet GitHub Shawn Lawrence
HttpTracer Simple tracing library to capture HTTP request/responses. NuGet GitHub BSi Labs
MvvmHelpers Collection of small MVVM helpers for app devs. NuGet GitHub Creator
Portable Razor Lightweight implemenation of ASP.NET MVC APIs for mobile. NuGet GitHub @JosephHill
Sockets TCP & UDP Listeners and Clients + UDP multicast. NuGet GitHub @rdavis_au
TinyInsights Abstraction for one or more analytics providers from shared code. NuGet GitHub TinyStuff Team

MVVM Frameworks

Xamarin.Forms and Windows has MVVM built right, but perhaps you want to go farther and need more. Checkout these great libraries to help you out:

  • FreshMvvm - A super light Mvvm Framework designed specifically for Xamarin.Forms. It's designed to be Easy, Simple and Flexible.
  • MvvmAtom - Provides the middle ground by providing the base classes and wiring for most commonly used MVVM feature.
  • MvvmCross - Build clean, pixel perfect, native UIs. Share behavior and business logic in a single codebase across supported platforms, using the Model-View-ViewModel (MVVM) design pattern.
  • MvvmLight - The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in Xamarin.Android, Xamarin.iOS, Xamarin.Forms, Windows 10 UWP, & Windows Presentation Foundation (WPF).
  • Prism - Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Windows 10 UWP, and Xamarin.Forms.
  • Xamarin.Forms Mvvm Adaptor - ViewModel-first mvvm framework for Xamarin.Forms. Lightweight, it adapts Xamarin's existing mvvm engine.

UI Controls - Vendors

Looking for controls for your apps? These vendors have absolutely everything that you need. Many offer free trials, community editions or a free version.

Checkout the awesome trailer for these controls on YouTube.

UI Controls - Community

Here are some awesome UI controls for your Xamarin.Forms apps!

Name Description NuGet Docs & Source Creator
AutoForms Auto generated Xamarin.Forms UI from your Domain Models NuGet GitHub Patrick Abadi, Daniel Packard
AutoSuggestBox Auto-complete/suggestion textbox control NuGet GitHub dotMorten
Bit controls Multi calendar date time picker based on noda time and a few other controls. NuGet GitHub Bit foundation
Breadcrumb Automatically generated breadcrumb navigation control for Xamarin.Forms. NuGet GitHub Ieuan Walker
Color Picker An interactive and responsive Color Picker Control for Xamarin.Forms based on SkiaSharp! NuGet GitHub Udara Alwis
Debug Rainbows Overlay grids to help manage layouts. NuGet GitHub Steven Thewissen
FFImageLoading Image loading with caching, placeholders, transformations and more NuGet GitHub @molinch, @daniel-luberda
Glidex.Forms Glidex.Forms is a library using Glide for faster Xamarin.Forms images on Android. NuGet GitHub @jonathanpeppers
FloatingActionMenu Floating action menu, inspired by the material design floating action button. NuGet GitHub DIPS AS Team
MagicGradients Gradients everywhere! Powered by SkiaSharp NuGet GitHub Marcin Gierlasiński
Material Design Controls for Xamarin.Forms The suite of Material Design controls with a feature-rich. Create fast, beautiful, and cross-platform mobile apps. NuGet GitHub Horus Studio
MtAdmob Add Google Admob banners, interstitials and rewarded videos to Android and iOS with a single line of code. NuGet GitHub @marcojak
PancakeView An extended ContentView for Xamarin.Forms with rounded corners, borders, shadows and more. NuGet GitHub Steven Thewissen
Popup Custom popups with a nice modality feed to it. NuGet GitHub DIPS AS Team
Shared Transitions Des NuGet GitHub Giampaolo Gabba
Sheet Sliding bottom / top sheet control. NuGet GitHub DIPS AS Team
Sharpnado Collection of controls including Tabs, TaskLoaderVIew, and more. NuGet GitHub Jean-Marie Alfonsi
Skeleton for Xamarin.Forms The latest trend for loading approaches in Xamarin Forms apps. NuGet GitHub Horus Studio
SkiaSharp Cross-platform 2D graphics API for .NET powered by Skia NuGet GitHub Mono Team
SkiaSharp for Xamarin.Forms Cross-platform 2D graphics API for Xamarin.Forms powered by Skia NuGet GitHub Mono Team
StateButton With this control you are able to create any style of button. This is possible as it acts as a wrapper to your XAML and provides you the events/ commands and properties to bind too. Nuget GitHub Ieuan Walker
StateSquid Turn any layout into an individual state-aware element Nuget GitHub Steven Thewissen
Switch A switch control that allows you to design/ create any switch you want Nuget GitHub Ieuan Walker
TouchEffect Make Xamarin.Forms views touch-responsive without TapGestureRecognizer. NuGet GitHub Andrei Misiukevich
TrendGraph Display a trend graph in your mobile app. NuGet GitHub DIPS AS Team
Xamanimation An awesome animation library for Xamarin.Forms NuGet GitHub Creator
Xamlly Control library featuring progress, switch, toggle button, and more. NuGet GitHub Mohamed Elshawaf

Great Utilities

These are things that your app needs, but aren't UI or normal libraries such as Visual Studio extensions or other magic build time things.

Name Description NuGet Docs & Source Creator
Mobile Tasks for Azure DevOps Tasks to update version numbers & package information VS Marketplace GitHub James Montemagno
Mobile.BuildTools Handle Project Secrets, Process SCSS to Xamarin.Forms CSS, Cross platform image management, White-Labeling and more powered by MSBuild. NuGet GitHub Dan Siegel
ResizetizerNT Add & Resize SVGs and PNGs to your shared projects. NuGet GitHub Jon Dick
VSMac-CodeCoverage Gather code coverage results for your unit test projects from Visual Studio for Mac. mpack install GitHub Arthur Demanuele
VSMac-CodeDistribution A Visual Studio for Mac extension that visualises code distribution between projects. Particularly useful for Xamarin projects to understand the amount of code shared between platforms. mpack install GitHub Arthur Demanuele

Create a Plugin for Xamarin

If you are looking to create a plugin be sure to browse through NuGet first and ensure that the plugin doesn't exist. If one does join in on the fun and collaborate. If it doesn't and you want to start building a Plugin here are some tools and guidelines to get you started.

Tools to get Started

Requirements of a Plugin

  • Open source on GitHub
  • Documentation on GitHub's README file
  • Name: "FEATURE_NAME Plugin for Xamarin and Windows"
  • Namespace: Plugin.FEATURE_NAME
  • App-store friendly OSS license (we like MIT)
  • No dependency on Xamarin.Forms
  • Have a list of supported and unsupported OSs in its GitHub wiki

License

Licensed under MIT see License file. Each plugin licensed under parent license unless stated in it's readme file.

Want To Support This Project?

All I have ever asked is to be active by submitting bugs, features, and sending those pull requests down! Want to go further? Make sure to subscribe to my weekly development podcast Merge Conflict, where I talk all about awesome Xamarin goodies and you can optionally support the show by becoming a supporter on Patreon.

xamarin.plugins's People

Contributors

ahmedalejo avatar alesvi avatar ardalis avatar azureadvocatebit avatar dotmorten avatar dvrsajko avatar gitter-badger avatar ieuanwalker avatar jamesmontemagno avatar johankson avatar lorenzck avatar lothrop avatar marcojak avatar markdou812 avatar markjulmar avatar matthewgerber avatar mattleibow avatar mihamarkic avatar naterickard avatar nmilcoff avatar patrickabadi avatar rdavisau avatar redth avatar rihadavid avatar rvanlaarhoven avatar stefanov-stefan avatar therzok avatar wilsonvargas avatar wislon avatar ysmoradi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xamarin.plugins's Issues

How to handle settings property changed

I have some settings bound to a view in my app, but when I update the settings the view does not update. Does anyone know how to properly handle this? I didn't find it in the docs or the forums, so I posted it here.

Geolocator fails with infinite timeout on WinRT Phone 8.1

The Geolocator now works on Windows Phone when you supply a positive timeout. However if you leave that argument as default (-1), it will throw an ArgumentException.

A side note, the XML docs or argument name should probably mention what the units are for the timeout. Presumably milliseconds?

[Feature Request] TakeVideoAsync & TakePictureAsync saves file within App folder. No option to provide absolute path and save in external storage.

I would like to save file here:

var _dir = new Java.IO.File(Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryMovies), "MyAppName");

Also, these files are not visible in the gallery apps. Would prefer if there is an optional bool parameter to do so. Currently, I use following code to achieve this:

Intent mediaScanIntent = new Intent (Intent.ActionMediaScannerScanFile);
Android.Net.Uri contentUri = Android.Net.Uri.FromFile (_file);
mediaScanIntent.SetData (contentUri);
SendBroadcast (mediaScanIntent);

ImageCircle: Xamarin.Forms 1.2.3.0 required

James,

It would appear that there is a hard dependency on Xamarin.Forms 1.2.3.0.

I created a 1.3.0 project and after installing ImageCircle and adding the ImageCircleRenderer.Init(); to the AppDelegate on iOS, I get this:

The type 'Xamarin.Forms.Platform.iOS.ImageRenderer' is defined in an assembly that is not referenced. You must add a reference to assembly 'Xamarin.Forms.Platform.iOS, Version=1.2.3.0, Culture=neutral, PublicKeyToken=null'

Thanks, Mitch

Settings: Unable to use in Xamarin Unified iOS Project?

I am trying to use the CrossSettings Library in a PCL with this line:

public static object getSetting(string key)
{
return CrossSettings.Current.GetValueOrDefault(key,string.Empty);
}

And all I get is a "System.IO.FileNotFoundException" - Could not load file or assembly 'monotouch, Version 0.0.0.0'...

I am running version 1.4.0.1 which should be unified api compatible ?
just tried.. this also happens with 2.0.0-alpha

Thanks for your help.

Hardcoded circle image inset for Android

There's a strange inset on Android for circle image. As I understand it is hardcoded here:
https://github.com/jamesmontemagno/Xamarin.Plugins/blob/master/ImageCircle/ImageCircle.Forms.Plugin.Android/ImageCircleRenderer.cs#L69

var radius = Math.Min(Width, Height) / 2;
var strokeWidth = 10;
radius -= strokeWidth / 2;

What is the point? Should we use BorderThickness there? Like that:

var radius = Math.Min(Width, Height) / 2;
var strokeWidth = ((ImageCircle.Forms.Plugin.Abstractions.CircleImage)Element).BorderThickness;
radius -= strokeWidth / 2;

Plans for supporting .NET 4.5 application in Xam.Plugin.Connectivity?

Hi,

I am currently writing a C# connector for an API, that I want to share in a Xamarin and a pure .NET application.

We lately thought about implementing Xam.Plugin.Connectivity in there, but since it has no pure .NET support, we didn't quite know how to implement that.

Are there any plans on adding support for that?

Licenses

Hey James,

I see some discrepancies with the license stated in some of my plugins and your statements in your derivative work. For the Connectivity and DeviceInfo plugin the Apache 2.0 license is used. You can see all the "Must" stuff you need to do in order to adhere to the license here: https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)

Basically you have removed the copyright and license statements in the top of the files you are deriving from. You also need to state that the files have been modified. You also need to have a NOTICE file with attribution notes.

I did give you permission to use my code, which the Apache 2.0 license already states that you can do 😄. Although I am pretty certain that you can't sub-license Apache 2.0 licensed code with a less restrictive license like MIT. Although your own code can be licensed as MIT, you must retain Apache 2.0 on my code.

If you need help fixing these things, please do tell. It might be easier to change the two plugins in question to Apache 2.0.

Thanks,
Tomasz

How To access to contacts images in Xamarin.Plugins.Contacts

Hi James,

I was working with Xamarin.Mobile and I know that there the object Contact has the property GetThumbnail() that returns the current bitmap of the contact photo.

I checked your implementation and that method does not exist. There is any way that I can access to the contact photos with your library or I can implemented if you give more details how to can be done.

Also, when I was trying to use the GetThumbnail() from Xamarin.Mobile, I found it complicated to use because it was better if you can have the URI where the image is stored that return the entire image.

Could you give your ideas, how to implemented this in a better way using your library. By the way, good job creating all this libraries.

Regards,

Gabriel

Doubts in settings plugin

In the plugin Settings you have

but in Visual Studio 2013 using Xamarin Plugin I have

xamarin-issue1

Can you clarify it, please? I am trying to use it in a demo about Notification Hubs.

Unified API issue?

Hi James,

I just added package to my project but it won't build, I get:

MTOUCHTASK: Error MT2002: Failed to resolve assembly: 'Refractored.Xam.Settings, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null' (MT2002)

A quick Google suggests that it is related to Xamarin's recent updates to its Unified API support. Things that worked in beta need a bit of tweaking in the final version.

Settings Plugin - Android - Loses decimal part when storing/reading doubles

Checking the code this is because doubles read/store as long. On Android Library : Xamarin.Plugins/Settings/Refractored.Xam.Settings.Android/Settings.cs
///////////////////////////////////// --- On Read

   case TypeCode.Double:
        value = (double)SharedPreferences.GetLong(key, (long)Convert.ToDouble(defaultValue, System.Globalization.CultureInfo.InvariantCulture));
        break;

////////////////////////////////////// ---- On Store

    case TypeCode.Double:
        SharedPreferencesEditor.PutLong(key, (long)Convert.ToDouble(value, System.Globalization.CultureInfo.InvariantCulture));
        break;

PickPhotoAsync Problem

CrossMedia.Current.PickPhotoAsync() on android not return real file path. It returns path in sdcard/0/Android/data//files/Picture/temp/ / it throws the System.IO.FileNotFoundException because real file is at sdcard/0/DCIM/Camera.

Default value and nullables doesn't work very well

Hi,

Try this in Android

int? id = AppSettings.GetValueOrDefault<int?>("key", (int?)null);

it will return 0 when key doesn't exist.
i think ContainsKey method would come handy when you simply want to check for key presence anyway (it could be present with null value).
I can create a pull request if it makes sense.

ExternalMaps/Android: double toString() and current culture setting

I just noticed an issue in the Android version...
The latitude / longitude values are converted tostring using the current culture settings and in some country the decimal separator "." will be replaced with "," causing a wrong format in the intent string, so googlemaps will not find any results...

Settings Plugin for Xamarin doesnt save key value in the first run

i developing a app that in the first run get a userid from the server. i want to store it locally, however i cant do it on android. i save the value and then try to get it and the value doesnt exists.
if i close the app and open it again the value is stored.
In IOS works fine. Any idea?

Cancel

Is there a way to stop the Text To Speech after it has started? Or have an event that launches when the speaking is done?

Thanks

Adding new key value works ONLY in AppDelegate.FinishedLaunching in MONOTOUCH

I followed readme instruction and used _SettingsStarted.txt as an example. But it works only AppDelegate.FinishedLaunching when I call Settings.UserName = "demo".

For example, If I call Settings.UserName = "demo1" in any other view controller and then use it in some classes. I don't see that UserName value has changed.

Can you please help me with this.

[Feature Request] Media Plugin - Continues scanning?

Would it be possible to add a continues scanning feature to your library? Optimally with a callback on every frame that await the byte stream? Also access to the camera to enable auto focusing or other various features would be great.

That way it would be possible to create a barcode decoder using zxing.mobile.

Default DesiredAccuracy

i don't think that DesiredAccuracy's defualt value 0 is a good choice. That way you won't ever get a position since retrieved accuracy is always greater than 0.
Perhaps a value of double.MaxValue is a better choice?

Unable to install Xam.Plugin.Connectivity using Xamarin Studio

Can we relax the min client requirement in some of the NuGet packages? There are a few NuGet packages that have the following in the .nuspec:

minClientVersion="2.8.3"

The minClientVersion is preventing the NuGet packages being installed in Xamarin Studio. Xamarin Studio currently reports 2.8.1 as its NuGet client version. Xamarin Studio has not been updated to NuGet 2.8.3.

When you try to install Xam.Plugin.Connectivity into a project in Xamarin Studio it fails with the error:

Adding Xam.Plugin.Connectivity...
The 'Xam.Plugin.Connectivity 1.0.0.0' package requires NuGet client version '2.8.3' or above, but the current NuGet version is '2.8.1.0'.

The following NuGet packages seem to specify 2.8.3 as its minClientVersion:

  • Xam.Plugins.Forms.Vibrate
  • Xam.Plugins.Forms.ImageCircle
  • Xam.Plugins.Vibrate
  • Xam.Plugin.DeviceInfo
  • Xam.Plugin.Connectivity
  • Xam.Plugins.TextToSpeech

Connectivity sample crashes when in aeroplane mode

James, some great plugins thanks.

I ran the Connectivity sample
from Xamarin.Plugins\Connectivity\Common\ConnectivityPlugin\samples
using Android 21 on my Nexus 5 (built in XS 5.7) and if I put my phone in aeroplane mode and then press the Test connectiion button the app disappears (crashes).

ImageCircle bug in Android

Hi,

I'm using ImageCircle in a viewCell of a ListView.

as BindingContextChanged is use this method:

void ReadingCell_BindingContextChanged(object sender, EventArgs e)
{
var c = BindingContext as DbModel.Reading;
_circleT.BorderColor = MyColor.GetTemperatureColour(c.temperature);
}

I change the borderColor using a temperature.
On the visible cells, all work as expected, but if I scroll the ListView and then I return up to the previous cells, I see that the borderColor of the previous cells is now wrong (the color is the same of the ImageCircles on the screen before I scroll up).

On iOS all work perfect, i can scroll as much as i want and all the imagecircles still have the correct color.

How to use CircleImage in XAML

I am trying to use CircleImage in Xaml, but it doesn't seem to want to work. Anyone know how to make it work?

I added this to my ContentPage tag:
xmlns:ic="clr-namespace:ImageCircle.Forms.Plugin.Abstractions;assembly=MyApp"

Xaml Code:
<ic:CircleImage Source="misc/example_image.jpg" WidthRequest="50" HeightRequest="50" Aspect="AspectFill" HorizontalOptions="Center" />

CrossConectivity return false in emulator

Hi James,

I was trying to use the Connectivity.Plugin.CrossConnectivity to checked the current connectivity of the device. However, the method Current.IsConnected is always false even if I have internet active in the emulator device. Can you give a hint of use it or let me know if required an specific permission besides


public async Task isConnected(Activity activity)
{
hasInternetActive = true;
if (!Connectivity.Plugin.CrossConnectivity.Current.IsConnected)
{
bool accessedGoogle = await checkRemoteConnectivity();
if (!accessedGoogle)
{
hasInternetActive = false;
}
}
}

[CircleImage] BackgroundColor issue

When I set a BackgroundColor property CircleImage is no longer circle on Android.
Sample code:

`CircleImage startPomoButton = new CircleImage()
            {
                BorderColor = Color.FromHex(StaticData.ViewStartButtoColor),
                BackgroundColor = Color.FromHex(StaticData.ViewStartButtoColor),
                BorderThickness = 5,
                HeightRequest = 60,
                WidthRequest = 60,
                Source = StaticData.ViewStartButtoImage,
                VerticalOptions = LayoutOptions.Start,
                HorizontalOptions = LayoutOptions.End,
            };`

NavigateTo() fails on some Android devices

Hi James,
the NavigateTo() is broken on some devices (eg. Samsung Galaxy S4 Android 4.2.2)
it is caused by the "(name)" which doesn't seems to be parsed properly by Maps.
After deleting the "(name)" the navigation starts correctly.

https://github.com/jamesmontemagno/Xamarin.Plugins/blob/master/ExternalMaps/ExternalMaps/ExternalMaps.Plugin.Android/ExternalMapsImplementation.cs

I would suggest to change the format string in something like this:
var uri = String.Format("http://maps.google.com/maps?&daddr={0},{1}", latitude.ToString(CultureInfo.InvariantCulture), longitude.ToString(CultureInfo.InvariantCulture)); if (!string.IsNullOrEmpty(name)) { uri += " ("+name+")"; }

Marco.

Unknown MSBuild failure

Hi mates,

i'm trying to test the sample of connectivity but i have always de same error: "Unknow MSBuild failure". I made a new project and i added the nuget plugin, but i get the same arror.

Any idea?

Thanks

Xam.Settings: consider transparent json serialization

On iOS if I try to persist a non-value type, there's an exception thrown in the default case. Is there a reason we can't use Json.NET to serialize to/from string? I know it's kind of encouraging bad design, but still, would be useful in some cases.

Geolocator fails on WinRT Phone 8.1

I'm getting an exception thrown from CrossGeolocator.Current on a Windows Phone RT 8.1 app:

Operation aborted

You must set the MovementThreshold property or the ReportInterval property before adding event handlers.

This is with the Location capability for the app enabled.

Xam.Geolocator on iOS: GetPositionAsync never returns after a position error

We've noticed that under specific circumstances, the Geolocator plugin can get stuck and never return or throw:

  1. Given the geolocator instance is used concurrently by a watcher, i.e. StartListening was called;
  2. positioning fails for whatever reason, the PositionError event is triggered;
  3. and another client calls GetPositionAsync after that.

My guess is that while the last position is handled here, the error state is not saved, though CLLocationManager doesn't send the same notification again.

Temporarily, it seems that calling StopListening/StartListening in pair before GetPositionAsync works around this.

Connectivity Plugin crashes a Foreground Service without activities in the background

Hey James,

You can find a demo solution here: http://1drv.ms/1xvg1lq

Steps to reproduce:

  1. Launch app.
  2. Open recent apps list
  3. Swipe the app to left/right to kill the activity
  4. Foreground Service should be running still (notification should still be visible in the notification center).
  5. Now turn on or off WiFi (it must connect to an access point)

At this point the service should crash without giving any errors. Debugger should also detach immediately without anything on the output window.

Weird thing is, if the UI isn't killed (if you skip step 3 above) the service does not crash.

You will notice that no code is used in the solution from the Connectivity plugin. It only has to be installed in the project(s). Uninstalling the plugin from the projects fixes the issue.

Cheers,
Ertay

Minimum Android version compatibility for TextToSpeech

Hi,

I'm trying your plugin and when I run the simple example:

CrossTextToSpeech.Current.Speak("Text to speak");

In some devices with Android version lower than 4.4 (KitKat) I get this error:

[] Missing method Android.Speech.Tts.TextToSpeech::get_DefaultLanguage() in assembly Mono.Android.dll, referenced in assembly /storage/sdcard0/Android/data/EverlapsMobile.Android/files/.__override__/Refractored.Xam.TTS.dll

Unified iOS issues

I am getting a on iOS Simulator (iPhone 6 8.0) but not on the iPhone 6 plus "System.IO.FileNotFoundException" - Could not load file or assembly 'monotouch, Version 0.0.0.0'...

Other simulators work or provide another error 'Parameter obj should not be null'.

IsRemoteReachable always False when URL format is invalid

Hi James,

First of all, thank you for sharing this, its great.
I've noticed an annoying feature that should be easily fixed though.
When you do this:

Boolean reachable = await CrossConnectivity.Current.IsRemoteReachable("http://www.google.com", 80, 5000) ? true : false;
Debug.WriteLine("Reachable: " + reachable);

It will always return False, even when there is internet connection and it is reachable.
When you do this:

Boolean reachable = await CrossConnectivity.Current.IsRemoteReachable("google.com", 80, 5000) ? true : false;
Debug.WriteLine("Reachable: " + reachable);

It will work and return True or False depending on your connection.
Could you add the option that http://www.???.com and http://??.com are also supported in the call? You could simply find and remove the first part (http:// or http://www) and would make the API much easier to use, especially for beginners. This isn't documented anywhere and left me searching for an hour just to remove http://www.

Background color Android

If i set a background color, inside a ImageCircle, under iOS is perfect but under Android the background color is a square and goes beyond the limits of the circle.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.