PageRenderer не работает с API Camera2 - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь заставить работать 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.

...