Skip to content

slodge/ParallaxScrollView

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ParallaxScrollView

A Parallax ScrollView for Xamarin.Android, which is ported from this Android project.

##Usage

Take a look at the sample for how to use the component.

Two Views, a Background and a Foreground View, are needed to have the ParallaxScrollView working. The Foreground View gets wrapped in ObservableScrollView, which itself exposes an Event telling the ScrollView was scrolled, regardless of what you put in there.

###Attributes

  • From Resource.Stylables, parallexOffset: This number has to be between 0.1 and 1.0, it gets defaulted to 0.3 if values exceeds those boundaries.
  • An equivalent programatical Property is also present ParallaxScrollView.ParallaxOffset, which does the same as above.

###Background

The Background View will stretch, if smaller, to the same size as of the parent. The background is moved based on the ScrollView content size and i.e. setting a parallaxFactor of 0.5f, will approximatly move the background at a half rate of the foreground scroll.

###Foreground

Make sure it fills the parent.

##Example layout

<?xml version="1.0" encoding="utf-8"?>
<cheesebaron.parallaxscrollview.ParallaxScrollView
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:id="@+id/scroll_view"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  app:parallaxOffset=".3">
  
    <!-- Background -->

  <ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:scaleType="fitXY"
    android:src="@drawable/bg" />
    
  <!-- Foreground -->

  <cheesebaron.parallaxscrollview.ObservableScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center">
    
    <!-- Just like ScrollView, we can only have one direct child here, 
         so wrap in a Layout if you need more views inside the scroll view -->
    <TextView
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@android:color/white"
      android:padding="@dimen/spacing"
      android:text="Hello ParallaxScrollView!" />
    
  </cheesebaron.parallaxscrollview.ObservableScrollView>
</cheesebaron.parallaxscrollview.ParallaxScrollView>

##License

Copyright 2013 Tomasz Cielecki

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

A Parallax ScrollView for Xamarin.Android

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published