Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chrisjenx/Paralloid
Paralloid - (Pah-rah-loid) The Android Parallax library - DEPRECATED.
https://github.com/chrisjenx/Paralloid
Last synced: about 1 month ago
JSON representation
Paralloid - (Pah-rah-loid) The Android Parallax library - DEPRECATED.
- Host: GitHub
- URL: https://github.com/chrisjenx/Paralloid
- Owner: chrisjenx
- License: apache-2.0
- Created: 2013-09-26T11:55:52.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-09-01T09:13:30.000Z (over 9 years ago)
- Last Synced: 2023-11-07T14:14:23.038Z (about 1 year ago)
- Language: Java
- Homepage:
- Size: 2.43 MB
- Stars: 440
- Watchers: 36
- Forks: 92
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome - Paralloid - Paralloid - (Pah-rah-loid) The Android Parallax library - DEPRECATED. (etc)
- awesome - Paralloid - Paralloid - (Pah-rah-loid) The Android Parallax library - DEPRECATED. (etc)
README
Paralloid - DEPRECATED
=========DEPRECATED - Use the project for more of guide and ideas how to apply parallax techniques. I will not support this library anymore.
Paralloid - (Pah-rah-loid) The Android Parallax library
Compatible back to API 7
An example application, [Paralloid Library Example](https://play.google.com/store/apps/details?id=uk.co.chrisjenx.paralloidexample&hl=en), can be downloaded from the Play Store.
ParallaxScrollView is dead..
----------------------------I originally wrote ParallaxScrollView a while back as proof of concept, people took surprisingly well to it;
but from the get-go it was a fundamentally flawed.Tightly-coupled and inflexible, made it difficult to maintain and confusing for people to use.
Features
--------Currently limited but will expand when requests.
+ Parallax another view when the parent scrolls.
+ Parallax multiple backgrounds.
+ Transformers, Parallax in different ways and directions__Supports:__
- `ListView`
- `ScrollView`
- `HorizontalScrollView`Modular
-------Paralloid is designed to be modular and very loosely coupled (to an extent).
Two high level modules exist
- `paralloid` - which is the library which everything extends from.
- `paralloidviews` - which extends the library with a couple of pre-extended ScrollableViews.
- `paralloidexamples` - which is of course the examples App.Generally use `paralloidviews` as it contains everything you need to get going.
Getting Started
---------------### Dependency
_Currently I only support Gradle_
#### Locally:
Temporary steps from @therealkris.
- First, I cloned the library into `myproject/libs/paralloid`.
- In my `settings.gradle`, I added include `':libs:paralloid:paralloid'`, `':libs:paralloid:paralloidviews'`.
- In my `build.gradle`, I added `compile project(':libs:paralloid:paralloid')`, `project(':libs:paralloid:paralloidviews')`.
- In `libs/paralloid/paralloid`, I removed the `uploadArchives {}` block.
- In `libs/paralloid/paralloidviews`, I removed the `uploadArchives {}` block AND changed the dependency to read: `compile project(':libs:paralloid:paralloid')` instead of `compile project(':paralloid')`#### Or Repository (coming soon):
dependencies {
compile 'uk.co.chrisjenx.paralloid:paralloid:0.1.+'
}### Layout
#### ScrollView
This is an example, please refer to the `paralloidexample` App for full code.
### Fragment
Inside your `onViewCreated()` or `onCreateView()`.
//...
FrameLayout topContent = (FrameLayout) rootView.findViewById(R.id.top_content);
ScrollView scrollView = (ScrollView) rootView.findViewById(R.id.scroll_view);
if (scrollView instanceof Parallaxor) {
((Parallaxor) scrollView).parallaxViewBy(topContent, 0.5f);
}
// TODO: add content to top/scroll contentThats it!
Have a look at the `Parallaxor` interface for applicable Parallax methods.
Custom Views
-------------I tried to keep this as simple as possible, you can nearly copy and paste this.
- Extend the Scrollable view (or the one you allready have).
- Implement the `Parallaxor` interface.
- Job done! See below for an example__Example implementation:__
public class MyScrollView extends ScrollView implements Parallaxor {
//...
ParallaxViewController mParallaxViewController;// Call init() in constructors
private void init() {
mParallaxViewController = ParallaxViewController.wrap(this);
}@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
mParallaxViewController.onScrollChanged(this, l, t, oldl, oldt);
}// region Implementation of Parallaxor
@Override
public void parallaxViewBy(View view, float multiplier) {
mParallaxViewController.parallaxViewBy(view, multiplier);
}@Override
public void parallaxViewBy(View view, Transformer transformer, float multiplier) {
mParallaxViewController.parallaxViewBy(view, transformer, multiplier);
}@Override
public void parallaxViewBackgroundBy(View view, Drawable drawable, float multiplier) {
mParallaxViewController.parallaxViewBackgroundBy(view, drawable, multiplier);
}// endregion
}