Articles of xamarin

StackLayout宽度计算中的RelativeLayout

我在嵌套在StackLayout中的RelativeLayouts有一个奇怪的问题,看来StackLayout计算其元素的宽度应该使用RelativeLayout宽度,然后RelativeLayout再次重新计算它。 这导致子控件是相对宽度的平方,但是以下控件被放置为相对宽度。 这是一个错误还是我做错了什么? 例

将xamarin android控件添加到visual studio工具箱中

我正在使用Xamarin Visual studio,突然我刚从android设计器中的Visual Studio工具箱窗格中删除了一些控件。 我尝试使用(右键单击工具箱/选择项目)添加它们,但我不知道控件的程序集在哪里。 有谁知道如何添加控件?

如何在MasterDetailPage – Xamarin.Forms中自定义箭头图标,页面图标和页面标题

我在Visual Studio 2015中创建了一个新的Blank App(Xamarin.Forms Portable)项目,并修改了App.cs以获得“汉堡包菜单”: public class App : Application { public App() { var masterPage = new ContentPage() { Content = new Label { Text = “Hello from Master!”}, Title = “Master Page” }; var detailPage = new ContentPage() { Content = new Label { Text = “Hello from Detail!” }, Title = “Detail […]

Xamarin Android Player – 无法播放此video

我正在使用Android的VideoView在我的应用中播放嵌入式video。 它在我的设备上工作正常,但我一直在Xamarin Android播放器中收到“无法播放此video”消息和黑屏。 相应的错误日志如下所示: Unable to play video [MediaPlayer] Error (1,-38) [VideoView] Error: 1,-38 我find了一些关于这个错误的post,但没有一个帮我解决这个问题,我无法find这个状态代码的正确描述。 我的C#代码如下所示: videoView = new VideoView (Context); base.SetNativeControl (videoView); videoView.SetOnErrorListener (new ErrorListener ()); string fileName = e.NewElement.FileSource; fileName = fileName.ToLower ().Substring (0, fileName.LastIndexOf (“.”)); int resourceID = Context.Resources.GetIdentifier (fileName, “raw”, Context.PackageName); var fullPath = String.Format (“android.resource://{0}/{1}”, Context.PackageName, resourceID); videoView.SetVideoPath (fullPath); videoView.RequestFocus […]

如何使用从远程通知创建的本地通知激活活动

我已成功创建了一个启动活动的本地通知,但由于某种原因,当从远程通知的处理程序中创建此本地通知时,当用户点击本地通知时,不会启动该活动。 似乎没有抛出任何错误或exception。 以下是创建本地通知的代码。 注意我正在使用Xamarin。 我想知道它是否可能以某种方式与权限相关(远程通知处理程序可能无法创建意图来启动活动?)。 private void CreateNotification(string title, string desc) { var uiIntent = new Intent(this, typeof(ConversationActivity)); var stackBuilder = TaskStackBuilder.Create(this); stackBuilder.AddParentStack(Java.Lang.Class.FromType(typeof(ConversationActivity))); stackBuilder.AddNextIntent(uiIntent); PendingIntent pendingIntent = stackBuilder.GetPendingIntent(0, (int)PendingIntentFlags.UpdateCurrent); var notification = new NotificationCompat.Builder(this) .SetAutoCancel(true) // Remove the notification once the user touches it .SetContentIntent(pendingIntent) .SetContentTitle(title) .SetSmallIcon(Resource.Drawable.AppIcon) .SetContentText(desc) .SetDefaults((int)(NotificationDefaults.Sound | NotificationDefaults.Vibrate)) ; // Set the […]

Xamarin构建错误:错误APT0000:在 …中,无法find属性

我收到了另一位开发人员的项目。 我安装了我的机器。 已配置具有所需组件的VS-2017。 Android SDK-Manager已安装相应的版本。 Project配置为使用Android 7.1 (Nougat)进行编译。 开始构建我得到一个错误 1>ERROR : error APT0000: In AppBarLayout, unable to find attribute android:keyboardNavigationCluster 我不清楚,我需要设置此信息,还是需要此信息。 我收到了ERROR:在MenuView中,无法find属性android:preserveIconSpacing和错误:在SherlockSpinner中,无法find属性android:popupPromptView 。 这两篇文章都没有帮助。 我重新检查了SDK-Tools,删除了文件夹C:\Users\\AppData\Local\Xamarin 。 据我所知,该消息缺少一个属性,需要设置。 在我find的项目文件Resource.designer.cs public const int AppBarLayout_android_keyboardNavigationCluster = 2; 名称接缝完全匹配。 有人能解释我这个错误吗? 有人可以解释我是如何摆脱它以及如何在将来解决类似的问题?

什么是Java.Net.Uri和Android.Net.Uri之间的区别

我试图从file对象中获取一个Uri ,如下所示: File file = new File(“/sdcard/MyFolder/MyFile.txt”); var androidUri = Android.Net.Uri.FromFile(file).ToString(); var javaUri = file.ToURI().ToString(); 这将返回以下值: androidUri = “file:///sdcard/MyFolder/MyFile.txt” javaUri = “file:/sdcard/MyFolder/MyFile.txt” 所以我的问题是Java.Net.Uri和Android.Net.Uri之间的Java.Net.Uri是这两个值应该是不同的吗? 什么时候应该使用它们? 更新 我find了两个文档页面Java.Net.Uri和Android.Net.Uri ,他们都说: 构建和解析符合RFC 2396的 URI引用。 因此,这肯定是一个错误,他们应该返回相同的字符串?

使用自定义渲染器强制重绘Xamarin.Forms视图

我有一个可视元素MyButton有一个为iOS实现的自定义渲染器。 共享: namespace RendererTest { public class MyButton: Button { public Color BoundaryColor { get; set; } } public static class App { public static Page GetMainPage() { var button = new MyButton { Text = “Click me!”, BoundaryColor = Color.Red }; button.Clicked += (sender, e) => (sender as MyButton).BoundaryColor = Color.Blue; return new ContentPage […]

适用于Xamarin的Genymotion Android模拟器

我有关于使用Genymotion Android模拟器进行xamarin开发的问题。 我已经安装了Genymotion桌面应用程序和其中的几个Android设备。 每当我通过start按钮在Genymotion桌面应用程序中运行任何已安装的设备时,它工作正常但在Visual Studio中的可用模拟器列表中没有Genymotion模拟器,在Xamarin工作室中都没有(只有内置的Android模拟器和设备安装在Xamarin Android播放器中)。 我find了一些关于为Xamarin使用Genymotion Emulator的文章,他们都说: Xamarin工作室和带Xamarin的Visual Studio都发现它,没问题 我正在使用Visual Studio企业版,Xamarin商业编辑和Genymotion的免费版,如果这很重要。

Android上的C#:Xamarin还是Unity?

我是学生,我应该编写一个Android应用程序,可能是一个游戏。 我有机会选择我的编程语言。 我发现JAVA相当不错,但我更喜欢C#。 但是,由于Android本身不支持C#,我正在寻找实现它的方法。 我已经为Xamarinfind了很多建议,但它并不是免费的。 我理解,开发人员应该为他们的工作付钱,但由于我是学生并且不会从应用程序中获利,所以我付出任何代价似乎都是不公平的。 我遇到了Unity,这是免费的,但与Xamarin相比,用户反馈很少。 所以,我想问你的建议 – 团结是否足够好,还是我应该牺牲一些钱购买Xamarin? 或者还有其他解决方案吗?