ScalingLayout

介绍:

一个可以展开折叠的布局,可以在初始大小与填满父布局(只是宽度)之间切换。同时增加了ScalingLayoutBehaviour支持与CoordinatorLayout配合。

运行效果:

使用说明:

Dependency

maven { url 'https://jitpack.io' }
dependencies {
     compile 'com.github.iammert:ScalingLayout:1.0'
}
<iammert.com.view.scalinglib.ScalingLayout
        android:id="@+id/scalingLayout"
        android:layout_width="300dp"
        android:layout_height="48dp"
        app:radiusFactor="1">
        
        <!-- Your content here -->
        
</iammert.com.view.scalinglib.ScalingLayout>
scalingLayout.expand(); //use this if you want to expand all
scalingLayout.collapse(); //user this if you want to collapse view to initial state.
scalingLayout.setProgress(float progress); //1 is fully expanded, 0 is initial state.

Listener

scalingLayout.setListener(new ScalingLayoutListener() {
    @Override
    public void onCollapsed() {}
    @Override
    public void onExpanded() {}
    @Override
    public void onProgress(float progress) {}
});

Attribute

app:radiusFactor的值在 0 到 1 之间,浮点类型。1=完全圆角 0=无圆角。

ScalingLayoutBehaviour

gif_behavior.gif

<iammert.com.view.scalinglib.ScalingLayout
        android:id="@+id/scalingLayout"
        android:layout_width="300dp"
        android:layout_height="48dp"
        app:radiusFactor="1"
        app:layout_behavior="iammert.com.view.scalinglib.ScalingLayoutBehavior">
        
        <!-- Your content here -->
        
</iammert.com.view.scalinglib.ScalingLayout>
已下载
0