SeparateShapesView
Simple custom ViewGroup with two shapes inside and simple scale animation.
Download
For project API 21+.
Gradle
compile 'com.steelkiwi:separate-shapes-view:1.1.0'
Usage
First of all, need add SeparateShapesView to your xml layout
<com.steelkiwi.library.SeparateShapesView
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="@dimen/view_height"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" or android:layout_centerInParent="true" // it will animate view left or center position
android:layout_marginRight="@dimen/margin_40"
android:layout_marginLeft="@dimen/margin_40"
android:layout_marginBottom="@dimen/margin_20"
app:ssv_all_text_caps="true"
app:ssv_done_drawable="@drawable/done"
app:ssv_left_shape_drawable="@drawable/left_rounded_corner_drawable"
app:ssv_right_shape_drawable="@drawable/right_rounded_corner_drawable"
app:ssv_left_shape_text="@string/left_title"
app:ssv_right_shape_text="@string/right_title"
app:ssv_text_color="@android:color/white"
app:ssv_text_size="14sp"
app:ssv_single_shape="false"
app:ssv_center_shape_text="@string/center_title"/>
You can customize view, through this attributes
- app:ssv_all_text_caps - set all text cups
- app:ssv_done_drawable - set icon when view is finish animate
- app:ssv_left_shape_drawable - left shape drawable
- app:ssv_right_shape_drawable - right shape drawable
- app:ssv_left_shape_text - left shape title
- app:ssv_right_shape_text - right shape title
- app:ssv_text_color - shape text color
- app:ssv_text_size - shape text size
- app:ssv_single_shape - set flag to not divide shapes
- app:ssv_center_shape_text - shape center text
Inside your client code need to implement listener SeparateShapesView.OnButtonClickListener to handle view click state.
OnButtonClickListener methods:
- boolean onLeftButtonClick()
- boolean onRightButtonClick()
- boolean onMiddleButtonClick() // will call when use ssv_single_shape and ssv_center_shape_text is not null
If any of the methods will returns true, view will animate. Otherwise nothing happens