diff options
author | Rui Marinho <me@ruimarinho.net> | 2017-04-06 14:19:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-06 14:19:52 +0100 |
commit | 425fafb05723a299a5eaa0f6d801f87bdf7141fa (patch) | |
tree | a9e38aa0a0252e6a6d2da6990303d82f2163a5a9 /Xamarin.Forms.Platform.Android/Renderers/ScrollViewRenderer.cs | |
parent | 829a4bda76166ddffce5a0e84538183b9527a1bd (diff) | |
download | xamarin-forms-425fafb05723a299a5eaa0f6d801f87bdf7141fa.tar.gz xamarin-forms-425fafb05723a299a5eaa0f6d801f87bdf7141fa.tar.bz2 xamarin-forms-425fafb05723a299a5eaa0f6d801f87bdf7141fa.zip |
Android fastrenderers (#845)
* Obsolete IVisualElementRenderer.ViewGroup in favor of .View
* Fix NRE
* Changing TContainer in PlatformEffect to View
* Fix "View" type
* new VisualElementRenderer
* First attempt at a fast(er) button renderer
* Fast Label Renderer
* Let's try that again. Behold: Label Fast Renderer
* Move FrameRenderer into Fast Renderers
* Fix Disposable on VisualElementRenderer
* Simplify touch and click handlers
* Drop empty if clause
* [Android] Add initial Image fast renderer
* Split accessibility out to a separate helper class; fix tapgesture bug with label
* [Android] Small fixes to VisualElementRenderer
* Move accessiblity stuff to a separate class (which needs a good name)
* Prevent query from looking to parent for fast renderers
* [Android] ImageRenderer refactoring
* Fix elevation/z-index bugs with Button (e.g., 40173)
* Move SetLabeledBy to Accessibilitizer
* Un-break automation IDs for Labels
* Move gesture handling to its own class
* Split gesture and effect management into separate classes
* Remove unneeded packager from LabelRenderer
* LabelRenderer inherits from FormsTextView
* Batch updates to View
* Fix isOnParentRenderer check for non-Android platforms
* [Controls] Update Xamarin.Forms.ControlGallery.iOS.csproj
* [Android,IOS] Small fixes to rebase and use of Internals
* [Android] Ignroe warning for now
* Fast renderers now passing InputTransparent and IsEnabled tests
* Fast and legacy renderers now pass the Enabled and InputTransparent tests
* Change PlatformEffect back, default container to null
* Fix mangled using directives
Diffstat (limited to 'Xamarin.Forms.Platform.Android/Renderers/ScrollViewRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Android/Renderers/ScrollViewRenderer.cs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Xamarin.Forms.Platform.Android/Renderers/ScrollViewRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/ScrollViewRenderer.cs index b7961411..69020de6 100644 --- a/Xamarin.Forms.Platform.Android/Renderers/ScrollViewRenderer.cs +++ b/Xamarin.Forms.Platform.Android/Renderers/ScrollViewRenderer.cs @@ -7,6 +7,7 @@ using Android.Views; using Android.Widget; using Xamarin.Forms.Internals; using AScrollView = Android.Widget.ScrollView; +using AView = Android.Views.View; namespace Xamarin.Forms.Platform.Android { @@ -39,6 +40,13 @@ namespace Xamarin.Forms.Platform.Android public event EventHandler<VisualElementChangedEventArgs> ElementChanged; + event EventHandler<PropertyChangedEventArgs> ElementPropertyChanged; + event EventHandler<PropertyChangedEventArgs> IVisualElementRenderer.ElementPropertyChanged + { + add { ElementPropertyChanged += value; } + remove { ElementPropertyChanged -= value; } + } + public SizeRequest GetDesiredSize(int widthConstraint, int heightConstraint) { Measure(widthConstraint, heightConstraint); @@ -90,10 +98,9 @@ namespace Xamarin.Forms.Platform.Android Tracker.UpdateLayout(); } - public ViewGroup ViewGroup - { - get { return this; } - } + public ViewGroup ViewGroup => this; + + AView IVisualElementRenderer.View => this; public override void Draw(Canvas canvas) { @@ -239,6 +246,8 @@ namespace Xamarin.Forms.Platform.Android void HandlePropertyChanged(object sender, PropertyChangedEventArgs e) { + ElementPropertyChanged?.Invoke(this, e); + if (e.PropertyName == "Content") LoadContent(); else if (e.PropertyName == VisualElement.BackgroundColorProperty.PropertyName) |