c# - insertar - images xamarin android
Botón compartir Xamarin iOS (4)
Puede probar con este componente: https://components.xamarin.com/view/xamarin.social
Ahora en proyectos uso este componente:
https://components.xamarin.com/view/facebook-sdk
y en TouchUpInside de los botones invoco un método como este:
void Share(string sharingUrl)
{
var content = new ShareLinkContent();
content.SetContentUrl(new NSUrl(sharingUrl));
var shareDialog = new FacebookShareDialog
{
FromViewController = UIApplication.SharedApplication.KeyWindow.RootViewController,
Mode = ShareDialogMode.Native
};
shareDialog.SetShareContent(content);
shareDialog.Show();
}
donde FacebookShareDialog es una clase derivada
public class FacebookShareDialog : ShareDialog
{
public FacebookShareDialog()
: base(NSObjectFlag.Empty)
{
}
}
Funciona mejor que solo agregar un FacebookShareButton debido a que puede elegir cómo se comparte: los modos de diálogo Native o ShareSheet son realmente más útiles que simplemente abrir el diálogo de compartir en el navegador.
Podría hacer algo como esto:
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Perform any additional setup after loading the view, typically from a nib.
var button = new UIButton (UIButtonType.RoundedRect) {
Frame = UIScreen.MainScreen.Bounds,
BackgroundColor = UIColor.Red
};
button.TouchUpInside += (sender, e) => {
var item = NSObject.FromObject ("HI");
var activityItems = new NSObject[] { item };
UIActivity[] applicationActivities = null;
var activityController = new UIActivityViewController (activityItems, applicationActivities);
PresentViewController (activityController, true, null);
};
Add (button);
}
Los elementos que comparte deben derivarse de NSObjects.
Y puede excluir actividades estableciendo ExcludedActivityTypes
en UIActivityViewController
la mejor manera es usar
https://github.com/jguertl/SharePlugin
luego, después de instalar el paquete, puede llamar al comando o evento de la siguiente manera:
public Command Share {
get {
return new Command ((parameter) => {
CrossShare.Current.Share(((Joke)parameter).JokeTxt,"title");
});
}
}