Я пытаюсь заставить работать Camera2 API из Xamarin Forms через Page Rendering.
[assembly: ExportRenderer(typeof(CameraPage), typeof(CameraActivity))]
namespace BlueDemo.Droid
{
[Activity(Label = "CameraActivity")]
public class CameraActivity : PageRenderer
{
Activity activity;
TextureView textureView;
global::Android.Views.View view;
public CameraActivity(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
{
base.OnElementChanged(e);
if (e.OldElement != null || Element == null)
{
return;
}
try
{
SetupUserInterface();
AddView(view);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(@" ERROR: ", ex.Message);
}
}
void SetupUserInterface()
{
//activity = Context as Activity;
view = activity.LayoutInflater.Inflate(Resource.Layout.activity_camera, this, false);
activity.FragmentManager.BeginTransaction().Replace(Resource.Id.container, Camera2BasicFragment.NewInstance()).Commit();
}
Точка останова попадает во LayoutInflater, но не открывает вид для камеры.Исходный API-интерфейс Camera2: Ссылка API-интерфейса Camera2 для работы с камерой
Имеет SetContentView, который не работает с Page Renderer.