summaryrefslogtreecommitdiff
path: root/AndroidNative/FormsViewGroup/src/com/xamarin/forms/platform/android/FormsViewGroup.java
blob: 2168f323930ebde9d76692a8f1431b322c6120ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package com.xamarin.forms.platform.android;

import android.content.Context;
import android.util.AttributeSet;
import android.view.ViewGroup;
import android.view.*;


public class FormsViewGroup extends ViewGroup {

	public FormsViewGroup(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
	}

	public FormsViewGroup(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
	}

	public FormsViewGroup(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		// TODO Auto-generated constructor stub
	}

	public void measureAndLayout (int widthMeasureSpec, int heightMeasureSpec, int l, int t, int r, int b)
	{
		measure (widthMeasureSpec, heightMeasureSpec);
		layout (l, t, r, b);
	}
	
	@Override
	protected void onLayout(boolean changed, int l, int t, int r, int b) {
	}

	boolean inputTransparent;
	
	protected void setInputTransparent (boolean value)
	{
		inputTransparent = value;
	}
	
	protected boolean getInputTransparent ()
	{
		return inputTransparent;
	}
	
	@Override
	public boolean onInterceptTouchEvent (MotionEvent ev)
	{
		if (inputTransparent)
			return false;
		
		return super.onInterceptTouchEvent(ev);
	}
	
	@Override
	public boolean onTouchEvent (MotionEvent ev)
	{
		if (inputTransparent)
			return false;
		
		return super.onTouchEvent(ev);
	}
	
	public void sendBatchUpdate (
			float pivotX,
			float pivotY,
			int visibility,
			boolean enabled,
			float opacity,
			float rotation, 
			float rotationX, 
			float rotationY,
			float scale,
			float translationX,
			float translationY){
		setPivotX (pivotX);
		setPivotY (pivotY);
		
		if (getVisibility () != visibility)
			setVisibility (visibility);
		
		if (isEnabled () != enabled)
			setEnabled (enabled);
		
		setAlpha (opacity);
		setRotation (rotation);
		setRotationX (rotationX);
		setRotationY (rotationY);
		setScaleX (scale);
		setScaleY (scale);
		setTranslationX (translationX);
		setTranslationY (translationY);
	}
}