summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Android/Renderers/ScrollViewRenderer.cs
diff options
context:
space:
mode:
authorRui Marinho <me@ruimarinho.net>2017-04-06 14:19:52 +0100
committerGitHub <noreply@github.com>2017-04-06 14:19:52 +0100
commit425fafb05723a299a5eaa0f6d801f87bdf7141fa (patch)
treea9e38aa0a0252e6a6d2da6990303d82f2163a5a9 /Xamarin.Forms.Platform.Android/Renderers/ScrollViewRenderer.cs
parent829a4bda76166ddffce5a0e84538183b9527a1bd (diff)
downloadxamarin-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.cs17
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)