Tag: xamarin.android

如何在MonoDroid中制作动画监听器?

我想把这个Android代码转换为monoDroid Animation fade2 = AnimationUtils.loadAnimation(this, R.anim.fade_in2); fade2.setAnimationListener(new AnimationListener() { public void onAnimationEnd(Animation animation) { startActivity(new Intent(QuizSplashActivity.this, QuizMenuActivity.class)); QuizSplashActivity.this.finish(); } }); 到目前为止我有这个 Animation fade2 = AnimationUtils.LoadAnimation(this, Resource.Animation.Fade_in2); fade2.SetAnimationListener(????); 我没有看到新的AnimationListener()。 它似乎不需要一些界面或东西。

垂直翻转字节数组中位图的算法

我正在通过Mono For Android为Android中的便携式蓝牙打印机编写一个用于打印位图的课程。 我的类用于从流中获取像素数据,以便可以以正确的格式将其发送到打印机。 现在这个类很简单,它只读取每个像素的高度,宽度和位数。 使用它读取的偏移量并将像素数据返回给打印机。 现在我只使用每像素1位黑白图像。 我正在使用的位图是Windows格式。 这是原始图像: 这是打印的结果,第一张图片没有任何变换。 第二个是使用以下代码修改BitArray的结果: BitArray bits = new BitArray(returnBytes); BitArray flippedBits = new BitArray(bits); for (int i = 0, j = bits.Length – 1; i < bits.Length; i++, j–) { flippedBits[i] = bits[j]; } 我的问题是: 当我使用字节数组时,如何垂直翻转图像。 我无法找到执行此操作的算法,所有示例似乎都建议使用我无法使用的已建立的图形库。 编辑: 我的位图保存在一维数组中,第一行是字节,第二行是第三,等等。

使用Xamarin.Forms.Maps,Android的位置权限高于6.0

我正在尝试使用Xamarin.Forms.Maps实现Xamarin.Forms应用程序,但是我总是陷入exception: Java.Lang.SecurityException:我的位置需要权限ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION 我已经尝试按照本教程https://blog.xamarin.com/requesting-runtime-permissions-in-android-marshmallow/中的步骤操作,但没有得到结果。 有人会有更一致的东西来帮助我吗? 我打算使用非常接近优步的应用程序,如果我无法获得位置权限,我就无法进步。 我的主页在我的PCL中看起来像这样: public partial class MainPage: ContentPage { public MainPage () { InitializeComponent (); var map = new Map () { MapType = MapType.Street, IsShowingUser = true }; var stack = new StackLayout {Spacing = 0}; stack.Children.Add (map); Content = stack; } } 我在Xamarin.Android中的MainActivity类看起来像这样: [Activity (Label = “ExampleGeolocation”, Icon = “@ […]

Xamarin – 将图像转换为字节数组

我使用媒体插件从Android设备或iOS设备中拍摄或选择照片。 然后,我想使用LINQtoTwitter发布该图像。 为此,图像需要采用bytes []格式。 如何将我的图像转换为字节以便上传? 获取图像的代码 takePhoto.Clicked += async (sender, args) => { if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { await DisplayAlert(“No Camera”, “:( No camera avaialble.”, “OK”); return; } var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { PhotoSize = Plugin.Media.Abstractions.PhotoSize.Medium, Directory = “Sample”, Name = “test.jpg” }); if (file == null) return; await DisplayAlert(“File Location”, file.Path, “OK”); […]

如何在Xamarin中强制本地化文化到en-US进行整个应用

如何强制Xamain – Android / iOS在美国英语文化中工作,无论用户设置如何。 我在我的应用程序中遇到的问题是,该应用程序仅支持美国/英国英语,但如果用户将语言首选项更改为西class牙语,德语等,则数字日期等格式将更改。 例如, 2.35将代表西class牙语,德语代表2,35 。 因此,如果用户尝试使用具有类似语言的应用程序,则应用程序将错过行为或崩溃。 在我尝试Convert.ToDouble(“2,35”);情况下会发生崩溃Convert.ToDouble(“2,35”); 或类似的。 所以我怀疑是, 在Xamarin中是否有可能将文化强制设置为en-US 。 可能在一个地方,否则我需要更改我执行转换的所有地方。 请帮忙。

无法将Xamarin.Android和Xamarin.iOS添加到PCL

我正在尝试使用MvvmCross来训练一个示例项目 ,但我坚持在VS2012中添加框架的第一步。 当我尝试在PCL项目中添加Xamarin.Android和Xamarin.iOS框架时,它显示错误 在您选择的框架之间没有可移植的可用function 我尝试按照这个答案中的步骤,但它没有奏效。 有人能否解释这个问题。 谢谢。

用于Animate TopMargin的ObjectAnimator代理无法找到设置/获取

我们正在尝试使用objectanimator代理来动画Android(Xamarin)中的TopMargin属性。 但是,我们收到此错误: [PropertyValuesHolder]找不到属性TopMargin的setter / getter,其值类型为float 注意:我们尝试过TopMargin,topMargin,GetTopMargin,getTopMargin等,认为它可能是Java和C#之间的套管转换问题,但看起来并非如此。 我们在Activity中开始动画的代码: translation = new int[] {0, 300}; var anim2 = ObjectAnimator.OfInt( new MarginProxyAnimator(myview), “TopMargin”,translation); anim2.SetDuration(500); anim2.Start(); 我们的代理类: public class MarginProxyAnimator : Java.Lang.Object { ///… other code… public int getTopMargin() { var lp = (ViewGroup.MarginLayoutParams)mView.LayoutParameters; return lp.TopMargin; } public void setTopMargin(int margin) { var lp = (ViewGroup.MarginLayoutParams)mView.LayoutParameters; lp.SetMargins(lp.LeftMargin, margin, lp.RightMargin, […]

“ResolveLibraryProjectImports”任务意外失败

我有一个Xamarin项目,它基于MvvmCross 。 该项目适用于iOS和Android。 我在Visual Studio 15中打开了这个项目。我遇到了一些错误,我很快就解决了。 有一些错误,即使在Google和Stackoverflow上搜索后也无法解决。 我已经尝试了在Stackoverflow上找到的每一个方法,但仍然存在所有剩余的错误。 这个项目正在使用像RestSharp和BoxApi.V2这样的第三方库(更多) 我在下面发布我的错误日志。 Severity Code Description Project File Line Suppression State Error The “ResolveLibraryProjectImports” task failed unexpectedly. System.IO.FileNotFoundException: Could not load assembly ‘RestSharp(Android), Version=0.0.0.0, Culture=neutral, PublicKeyToken=’. Perhaps it doesn’t exist in the Mono for Android profile? File name: ‘RestSharp(Android).dll’ at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters) at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName, ReaderParameters […]

C#Android:在服务上获取广播接收器?

我正在开发xamarin.android中的辅助function服务。 一切都很好,但我想要服务上的广播接收器。 我知道我必须从广播接收器派生我的可访问性服务,但这是不可能的,因为该服务已经从Android.AccessibilityService派生。 实际上,当用户对主要活动进行一些配置更改时,我想提出一个广播接收器,我的可访问性服务应该监听。 那么,有什么想法吗?

FCM – 重新调试应用程序后发送消息时出现Android Xamarin NotRegistered错误

我正在Xamarin Android中开发一个应用程序,用于通知我正在使用FCM预发布包: https : //www.nuget.org/packages/Xamarin.Firebase.Messaging/ 现在一切正常,如果我清理App数据,会触发OnTokenRefresh事件并生成新令牌 – 当我在此令牌上发送新通知时,设备在OnMessageReceived()发送和接收通知 – 问题是当我对代码进行更改并再次运行应用程序时,如果我使用旧令牌,则在发送通知时会收到NotRegistered错误,但如果我去清理App Data,则会触发OnTokenRefresh()生成新令牌 – 新令牌有效。 类似的问题在这里,但这是GCM(我使用的是FCM): Google云消息“未注册”失败并取消订阅最佳做法? https://stackoverflow.com/a/36856867/1910735 https://forums.xamarin.com/discussion/65205/google-cloud-messaging-issues#latest 我的FCMInstanceIdService [Service, IntentFilter(new[] { “com.google.firebase.INSTANCE_ID_EVENT” })] public class FCMInstanceIdService : FirebaseInstanceIdService { private string Tag = “FCMInstanceIdService”; public override void OnTokenRefresh() { var fcmDeviceId = FirebaseInstanceId.Instance.Token; if (Settings.DeviceId != fcmDeviceId) { var oldDeviceId = Settings.DeviceId; Settings.DeviceId = fcmDeviceId; […]