This project depends on another project called
PullToRefreshwritten by me.
Preview
1. sample_ListView (with viewpager)
2. sample_RecyclerView
3. sample_ScrollView
Usage
- Add jitpack repository to your root build file
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}- Add the dependency
dependencies {
compile 'com.github.lubeast:AlphaLayout:1.0.0'
}- Add
AlphaLayoutwidget in your layout
<com.alhpalayout.AlphaLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/alpha_layout" android:layout_width="match_parent" android:layout_height="match_parent" app:headerLayout="@layout/layout_header" app:transparent_distance="150dp" tools:context="com.alphalayout.activity.ListSampleActivity"> <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@null" android:dividerHeight="0dp" /> </com.alhpalayout.AlphaLayout>
- implements AlphaLayout.OnRefreshListener in your
Activity
@Override public void onRefresh() { alphaLayout.postDelayed(new Runnable() { @Override public void run() { alphaLayout.setRefreshing(false); } }, REFRESH_DELAY); } @Override public void onScroll(int direction, float percent) { if (direction == AlphaLayout.DIRECTION_DOWN) { ViewCompat.setAlpha(alphaLayout.getHeaderLayout(), 1.0f - percent); } else { alphaLayout.getHeaderLayout().getBackground().setAlpha((int) (255 * percent)); mTitleView.getBackground().mutate().setAlpha((int) (255 * (1 - percent))); } }
Attention
- You should use
AlphaScrollViewwhich been provided instead ofScrollView. - I also provided
AlphaHeaderLayoutwhich can make good performance easily.
See sample project for detail



