void Init(IAttributeSet attrs) {
			_headerContainer = new FrameLayout(Context);
			if (attrs != null) {
				LayoutInflater layoutInflater = LayoutInflater.From(Context);
				//初始化状态View
				TypedArray a = Context.ObtainStyledAttributes(attrs, Resource.Styleable.PullToZoomListView);

				int headViewResId = a.GetResourceId(Resource.Styleable.PullToZoomListView_listHeadView, 0);
				if (headViewResId > 0) {
					_headerView = layoutInflater.Inflate(headViewResId, null, false);
					_headerContainer.AddView(_headerView);
					_isHideHeader = false;
				} else {
					_isHideHeader = true;
				}

				_isParallax = a.GetBoolean(Resource.Styleable.PullToZoomListView_isHeadParallax, true);

				a.Recycle();
			}

			DisplayMetrics localDisplayMetrics = new DisplayMetrics();
			((Activity) Context).WindowManager.DefaultDisplay.GetMetrics(localDisplayMetrics);
			_screenHeight = localDisplayMetrics.HeightPixels;
			_screenWidth = localDisplayMetrics.WidthPixels;
			if (_headerView != null) {
				SetHeaderViewSize(_screenWidth, (int) (9.0F * (_screenWidth / 16.0F)));
				AddHeaderView(_headerContainer);
			}
			_scalingRunnable = new ScalingRunnable(this);
			base.SetOnScrollListener(this);
		}
        void Init(IAttributeSet attrs)
        {
            _headerContainer  = new FrameLayout(Context);
            _zoomContainer    = new FrameLayout(Context);
            _contentContainer = new FrameLayout(Context);

            _rootContainer             = new LinearLayout(Context);
            _rootContainer.Orientation = Android.Widget.Orientation.Vertical;

            if (attrs != null)
            {
                LayoutInflater layoutInflater = LayoutInflater.From(Context);
                //初始化状态View
                TypedArray a = Context.ObtainStyledAttributes(attrs, Resource.Styleable.PullToZoomScrollView);

                int zoomViewResId = a.GetResourceId(Resource.Styleable.PullToZoomScrollView_scrollZoomView, 0);
                if (zoomViewResId > 0)
                {
                    _zoomView = layoutInflater.Inflate(zoomViewResId, null, false);
                    _zoomContainer.AddView(_zoomView);
                    _headerContainer.AddView(_zoomContainer);
                }

                int headViewResId = a.GetResourceId(Resource.Styleable.PullToZoomScrollView_scrollHeadView, 0);
                if (headViewResId > 0)
                {
                    _headView = layoutInflater.Inflate(headViewResId, null, false);
                    _headerContainer.AddView(_headView);
                }
                int contentViewResId = a.GetResourceId(Resource.Styleable.PullToZoomScrollView_scrollContentView, 0);
                if (contentViewResId > 0)
                {
                    _contentView = layoutInflater.Inflate(contentViewResId, null, false);
                    _contentContainer.AddView(_contentView);
                }

                a.Recycle();
            }

            DisplayMetrics localDisplayMetrics = new DisplayMetrics();

            ((Activity)Context).WindowManager.DefaultDisplay.GetMetrics(localDisplayMetrics);
            _screenHeight    = localDisplayMetrics.HeightPixels;
            _zoomWidth       = localDisplayMetrics.WidthPixels;
            _scalingRunnable = new ScalingRunnable(this);

            _rootContainer.AddView(_headerContainer);
            _rootContainer.AddView(_contentContainer);

            _rootContainer.SetClipChildren(false);
            _headerContainer.SetClipChildren(false);

            AddView(_rootContainer);
        }
		void Init(IAttributeSet attrs) {
			_headerContainer = new FrameLayout(Context);
			_zoomContainer = new FrameLayout(Context);
			_contentContainer = new FrameLayout(Context);

			_rootContainer = new LinearLayout(Context);
			_rootContainer.Orientation = Android.Widget.Orientation.Vertical;

			if (attrs != null) {
				LayoutInflater layoutInflater = LayoutInflater.From(Context);
				//初始化状态View
				TypedArray a = Context.ObtainStyledAttributes(attrs, Resource.Styleable.PullToZoomScrollView);

				int zoomViewResId = a.GetResourceId(Resource.Styleable.PullToZoomScrollView_scrollZoomView, 0);
				if (zoomViewResId > 0) {
					_zoomView = layoutInflater.Inflate(zoomViewResId, null, false);
					_zoomContainer.AddView(_zoomView);
					_headerContainer.AddView(_zoomContainer);
				}

				int headViewResId = a.GetResourceId(Resource.Styleable.PullToZoomScrollView_scrollHeadView, 0);
				if (headViewResId > 0) {
					_headView = layoutInflater.Inflate(headViewResId, null, false);
					_headerContainer.AddView(_headView);
				}
				int contentViewResId = a.GetResourceId(Resource.Styleable.PullToZoomScrollView_scrollContentView, 0);
				if (contentViewResId > 0) {
					_contentView = layoutInflater.Inflate(contentViewResId, null, false);
					_contentContainer.AddView(_contentView);
				}

				a.Recycle();
			}

			DisplayMetrics localDisplayMetrics = new DisplayMetrics();
			((Activity) Context).WindowManager.DefaultDisplay.GetMetrics(localDisplayMetrics);
			_screenHeight = localDisplayMetrics.HeightPixels;
			_zoomWidth = localDisplayMetrics.WidthPixels;
			_scalingRunnable = new ScalingRunnable(this);

			_rootContainer.AddView(_headerContainer);
			_rootContainer.AddView(_contentContainer);

			_rootContainer.SetClipChildren(false);
			_headerContainer.SetClipChildren(false);

			AddView(_rootContainer);
		}
        public PullToZoomListViewEx(Context context, IAttributeSet attrs) : base(context, attrs)
        {
            _headerContainer = new FrameLayout(Context);
            if (_zoomView != null)
            {
                _headerContainer.AddView(_zoomView);
            }
            if (_headerView != null)
            {
                _headerContainer.AddView(_headerView);
            }

            _rootView.AddHeaderView(_headerContainer);
            _rootView.SetOnScrollListener(this);
            _scalingRunnable = new ScalingRunnable(this);
        }
Exemple #5
0
        void Init(IAttributeSet attrs)
        {
            _headerContainer = new FrameLayout(Context);
            if (attrs != null)
            {
                LayoutInflater layoutInflater = LayoutInflater.From(Context);
                //初始化状态View
                TypedArray a = Context.ObtainStyledAttributes(attrs, Resource.Styleable.PullToZoomListView);

                int headViewResId = a.GetResourceId(Resource.Styleable.PullToZoomListView_listHeadView, 0);
                if (headViewResId > 0)
                {
                    _headerView = layoutInflater.Inflate(headViewResId, null, false);
                    _headerContainer.AddView(_headerView);
                    _isHideHeader = false;
                }
                else
                {
                    _isHideHeader = true;
                }

                _isParallax = a.GetBoolean(Resource.Styleable.PullToZoomListView_isHeadParallax, true);

                a.Recycle();
            }

            DisplayMetrics localDisplayMetrics = new DisplayMetrics();

            ((Activity)Context).WindowManager.DefaultDisplay.GetMetrics(localDisplayMetrics);
            _screenHeight = localDisplayMetrics.HeightPixels;
            _screenWidth  = localDisplayMetrics.WidthPixels;
            if (_headerView != null)
            {
                SetHeaderViewSize(_screenWidth, (int)(9.0F * (_screenWidth / 16.0F)));
                AddHeaderView(_headerContainer);
            }
            _scalingRunnable = new ScalingRunnable(this);
            base.SetOnScrollListener(this);
        }
        public PullToZoomScrollViewEx(Context context, IAttributeSet attrs) : base(context, attrs)
        {
            Android.Content.Res.TypedArray a = Context.ObtainStyledAttributes(attrs, Resource.Styleable.PullToZoomView);
            _rootContainer             = new LinearLayout(Context);
            _rootContainer.Orientation = Orientation.Vertical;
            _headerContainer           = new FrameLayout(Context);

            if (_zoomView != null)
            {
                _headerContainer.AddView(_zoomView);
            }
            if (_headerView != null)
            {
                _headerContainer.AddView(_headerView);
            }
            int contentViewResId = a.GetResourceId(Resource.Styleable.PullToZoomScrollView_scrollContentView, 0);

            if (contentViewResId > 0)
            {
                LayoutInflater mLayoutInflater = LayoutInflater.From(Context);
                _contentView = mLayoutInflater.Inflate(contentViewResId, null, false);
            }

            _rootContainer.AddView(_headerContainer);
            if (_contentView != null)
            {
                _rootContainer.AddView(_contentView);
            }

            _rootContainer.SetClipChildren(false);
            _headerContainer.SetClipChildren(false);

            _rootView.AddView(_rootContainer);

            _scalingRunnable = new ScalingRunnable(this);
            ((InternalScrollView)_rootView).SetOnScrollViewChangedListener(this);
        }