2017-11-01 3 views

Antwort

1

Mit Hilfe dieses Beitrags: https://forums.xamarin.com/discussion/80360/editor-inside-scrollview-not-scrolling

, dass das Scrollen auf Android (iOS arbeitet standardmäßig) festgelegt. Es vermeidet das Parent-Scroll-Ereignis beim Berühren des Editors und löst nur den Editor-Scroll aus.

Zuerst wird eine Klasse auf Android-Projekt:

using Android.Views; 
namespace MyApp.Droid 
{ 
    public class DroidTouchListener : Java.Lang.Object, View.IOnTouchListener 
    { 
     public bool OnTouch(View v, MotionEvent e) 
     { 
      v.Parent?.RequestDisallowInterceptTouchEvent(true); 
      if ((e.Action & MotionEventActions.Up) != 0 && (e.ActionMasked & MotionEventActions.Up) != 0) 
      { 
       v.Parent?.RequestDisallowInterceptTouchEvent(false); 
      } 
      return false; 
     } 
    } 
} 

und dann verwenden, auf dem Android Individuelle EditorRenderer:

protected override void OnElementChanged(ElementChangedEventArgs<Editor> e) 
{ 
    base.OnElementChanged(e); 
    if (e.OldElement == null) 
    { 
     var nativeEditText = (global::Android.Widget.EditText)Control; 

     //While scrolling inside Editor stop scrolling parent view. 
     nativeEditText.OverScrollMode = OverScrollMode.Always; 
     nativeEditText.ScrollBarStyle = ScrollbarStyles.InsideInset; 
     nativeEditText.SetOnTouchListener(new DroidTouchListener()); 

     //For Scrolling in Editor innner area 
     Control.VerticalScrollBarEnabled = true; 
     Control.MovementMethod = ScrollingMovementMethod.Instance; 
     Control.ScrollBarStyle = Android.Views.ScrollbarStyles.InsideInset; 
     //Force scrollbars to be displayed 
     Android.Content.Res.TypedArray a = Control.Context.Theme.ObtainStyledAttributes(new int[0]); 
     InitializeScrollbars(a); 
     a.Recycle(); 
    } 
} 
+0

Und Sie müssen exportieren Sie Ihre Renderer [assembly: ExportRenderer (typeof (Herausgeber) , typeof (CustomEditorRenderer))] https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/custom-renderer/entry/ – shalin

Verwandte Themen