我試圖創建一個簡單的android原生視圖。一旦我得到了整個事情。與渲染器一起工作 - 它將以攝像機視圖的形式實現。Xamarin形式自定義渲染器android stackoverflowerror
我的渲染:
[assembly: ExportRenderer(typeof(CameraPage), typeof(CameraPageRenderer))]
namespace CameraTester2.Droid
{
public class CameraPageRenderer : PageRenderer, TextureView.ISurfaceTextureListener
{
Activity activity;
global::Android.Views.View view;
protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
{
base.OnElementChanged(e);
activity = this.Context as Activity;
view =activity.LayoutInflater.Inflate(Resource.Layout.TestLayout, this, true);
AddView(view);
}
但是..當我添加的看法 - 我得到一個計算器execption,我只是無法弄清楚,爲什麼什麼即時通訊做是錯誤的。
我已經試過以下這些例子: https://blog.xamarin.com/customize-your-xamarin-forms-app-with-pages-for-each-platform/
http://developer.xamarin.com/guides/cross-platform/xamarin-forms/custom-renderer/contentpage/
頁的Android是一個標籤一個簡單的頁面 - 不認爲你需要看到它。 共享PCL項目中的頁面只是一個空的Xamarin.Forms Xaml頁面。
有什麼建議嗎?
另外我想知道如何創建自己的活動 - 並將其設置爲上下文。如果我嘗試設置像這樣的上下文:
protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
{
base.OnElementChanged(e);
activity = this.Context as CameraActivity;
view =activity.LayoutInflater.Inflate(Resource.Layout.TestLayout, this, true);
AddView(view);
}
活動被設置爲空。在此先感謝您的任何建議。
堆棧跟蹤在哪裏?沒有它,很難猜測它是什麼溢出。下面是一個Xamarin傳教士的項目,它有一個相機頁面渲染器:https://github.com/pierceboggan/Moments –