waterfall-toolbar

介绍:

一个可以在列表滚动的时候改变阴影的toolbar,遵循Material Design。

运行效果:

使用说明:

Gradle dependency

Waterfall Toolbar 是放在 Jitpack的。
需要在root的 build.gradle 文件中添加:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

然后在module 的 build.gradle 文件中添加:

dependencies {
    ...
    compile 'com.github.hugocastelani:waterfall-toolbar:0.1'
}

Implementation

实现 Waterfall Toolbar 非常简单。你只需把它通过xml或者代码添加到layout中,然后把它跟RecyclerView或者ScrollView关联。

XML code:

<com.hugocastelani.waterfalltoolbar.library.WaterfallToolbar
    android:id="@+id/waterfall_toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?actionBarSize"/>
        
</com.hugocastelani.waterfalltoolbar.library.WaterfallToolbar>

Java code:

public class MainActivity extends AppCompatActivity {
 
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ...
        WaterfallToolbar mWaterfallToolbar = (WaterfallToolbar) findViewById(R.id.waterfall_toolbar);
        mWaterfallToolbar.addRecyclerView(mRecyclerView);
    }
    
}

Congratulations, you're all set!

注:你可以在内层的Toolbar做任何事情, Waterfall Toolbar不会受影响。

自定义

sample项目提供了测试这些东西的例子,你可以尝试一下。

初始 elevation

toolbar开始时的elevation。默认的值是:1dp。

 Java code:

mWaterfallToolbar.setInitialElevation(0);

结果:

initial.gif

就如你看到的初始的阴影不存在了。

最终 elevation

默认值: 6 dp.

Java code:

mWaterfallToolbar.setFinalElevation(10);

结果:

final.gif

可以看到最终阴影变大了。

Scroll final position

滚动到最终位置所需的高度于屏幕高度的百分比。默认为 6%。

// first gif
mWaterfallToolbar.setScrollFinalPosition(2);
 
// second gif
mWaterfallToolbar.setScrollFinalPosition(20);

Result:

目前的状态

Waterfall Toolbar目前还有一些bug,我将在空余时间修改这些bug

下载

sample.apk

已下载
0