C# 我可以将axml嵌入xaml(Xamarin)吗?

C# 我可以将axml嵌入xaml(Xamarin)吗?,c#,android,xaml,xamarin,C#,Android,Xaml,Xamarin,我是Xamarin的新手,正在设置一个Xamarin Forms应用程序,并在创建意图并启动活动后触发设备的摄像头 与Xamarin的菜谱非常相似,但我使用Forms.Context作为活动对象(以便将所有挂钩放在我的内容页中,而不是像Xamarin的菜谱那样将所有内容都放在MainActivity.cs) 它工作了,相机打开了 Intent intent = new Intent(MediaStore.ActionImageCapture); _file = new File(_dir, St

我是Xamarin的新手,正在设置一个
Xamarin Forms
应用程序,并在创建意图并启动活动后触发设备的摄像头

与Xamarin的菜谱非常相似,但我使用
Forms.Context
作为活动对象(以便将所有挂钩放在我的内容页中,而不是像Xamarin的菜谱那样将所有内容都放在
MainActivity.cs

它工作了,相机打开了

Intent intent = new Intent(MediaStore.ActionImageCapture);
_file = new File(_dir, String.Format("myPhoto_{0}.jpg", Guid.NewGuid()));
intent.PutExtra(MediaStore.ExtraOutput, Uri.FromFile(_file));
Forms.Context.StartActivity(intent, Bundle.Empty);
问题是,我想要与配方相同的功能,将刚拍摄的照片放入
图像视图中

MainActivity.cs
中生成UI(以及所有其他内容)。我想在
XAML
文件中单独声明视图

据我所知,我需要能够将
axml
android资源文件嵌入
xaml
,因为
MainActivity
中的代码已经由android移植,android只能通过其资源id引用视图/控件(在将
view/ui容器
创建为
axml
文件后,会自动生成
Resources/layout
文件夹下的

如何完成最后一步,以便在
main活动
之外对拍照样本进行编码

屏幕截图

以下是Xamarin配方如何将拍摄的照片放入图像查看器


如果您正在使用Xamarin表单,并且希望拍摄一张照片,然后用
图像显示它
-我建议您使用允许用户拍摄照片(或从手机中选择一张)。结果可以设置为
图像
图像源


关于最初的问题,你是否可以在xamarin表单中嵌入原生android元素-如果你正在使用xamarin表单,并且想要拍照,然后用
图像显示它,你可以查看-我建议你使用允许用户拍照的。可以将结果设置为
图像的
图像源


关于最初的问题,你是否可以在xamarin表单中嵌入原生android元素-你可以查看

我认为正确的解决方法是访问android原生功能,具体来说,调用原生方法拍照并保存照片。如果你只想拍照并用Im显示它您可以使用
DependencyService
来实现这个特定于平台的功能,并在xaml中设计布局,而无需在xaml中嵌入axml


如果要在Xaml中嵌入相机预览,建议使用目标平台的本机控件渲染界面。这意味着,不需要在Android项目中创建axml来显示相机预览,您可以创建自定义渲染器(控件/视图)在PCL中,并在您的Android项目中实现此控件。有官方的和,它指导我们实现一个视图来显示相机预览。

我认为正确的处理方法是使用访问Android本机功能,具体来说,调用本机方法拍照并保存照片。如果您只想拍照图片并用图像显示,您可以使用
DependencyService
实现此平台特定功能并在xaml中设计布局,无需在xaml中嵌入axml


如果要在Xaml中嵌入相机预览,建议使用目标平台的本机控件渲染界面。这意味着,不需要在Android项目中创建axml来显示相机预览,您可以创建自定义渲染器(控件/视图)在PCL中,并在您的Android项目中实现此控件。有一个官方的和指导我们实现一个视图来显示相机预览。

谢谢,目前我不确定是否要添加插件,但看起来是一个值得检查的替代方案。代码也是开源的。您可以将其用作“灵感来源”。关于orig最后一个问题,你是否可以在xamarin表单中嵌入原生android元素-你可以检查xamarin场景的问题是平台特定控件必须已经处于活动状态。我想在表单布局中有一个占位符,平台特定代码可以访问。你能发布/链接一些你已经使用过的代码吗p?我不完全理解你想要做什么。提供了一个如何在Xamarin.Forms布局中动态添加android元素的示例。如果你需要某种“TakePhotoService”,它返回一些你可以用作Xamarin.Forms ImageSource的东西。插件的插件/代码是你最好的选择。我现在按照Grace的建议,它可以ems这就是我想要的(我编辑了这个问题,说我是Xamarin的新手,所以我对流程有点困惑,问题的表述方式可能不清楚……)谢谢,现在我不确定我是否想添加插件,但看起来是一个值得检查的替代方案。代码也是开源的。你可以用它作为“灵感的源泉”。关于最初的问题,你是否可以在xamarin表单中嵌入本机安卓元素-你可以检查xamarin场景的问题是platf特定于orm的控件必须已处于活动状态。我希望表单布局中有一个占位符,平台特定的代码可以访问该占位符。您可以发布/链接一些您已经编写的代码吗?我不完全理解您想要做什么。提供了一个示例,说明如何将android元素动态添加到Xamarin.forms布局中。如果需要某种类型的“TakePhotoService”,它返回一些你可以用作Xamarin的东西。Forms ImageSource插件/代码是你最好的betI。我现在听从Grace的建议,似乎这就是