原文地址:https://blog.youkuaiyun.com/Gpwner/article/details/53998171
GitHub地址:https://github.com/ChadCSong/ShineButton
This is a UI lib for Android. Effects like shining.
Usage
shineButton = (ShineButton) findViewById(R.id.shine_button); shineButton.init(activity);
or
ShineButton shineButtonJava = new ShineButton(this);
shineButtonJava.setBtnColor(Color.GRAY);
shineButtonJava.setBtnFillColor(Color.RED);
shineButtonJava.setShapeResource(R.raw.heart);
shineButtonJava.setAllowRandomColor(true);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);
shineButtonJava.setLayoutParams(layoutParams);
if (linearLayout != null) {
linearLayout.addView(shineButtonJava);
}
Simple Usage
Icon shape is made from png mask. Please see raw files.
app:siShape
Default button color.
app:btn_color
Fill button color.
app:btn_fill_color
If this property is true,the effects will become random color shine.
app:allow_random_color
<com.sackcentury.shinebuttonlib.ShineButton
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true"
android:src="@android:color/darker_gray"
android:id="@+id/po_image2"
app:btn_color="@android:color/darker_gray"
app:btn_fill_color="@android:color/holo_green_dark"
app:allow_random_color="false"
app:siShape="@raw/smile"/>
Complex Usage
| Property | Java method | Description |
|---|---|---|
| siShape | void setShapeResource(int) | Set raw resource (png) |
| btn_color | void setBtnColor(int) | Set origin color |
| btn_fill_color | void setBtnFillColor(int) | Set fill color after click |
| allow_random_color | void setAllowRandomColor(boolean) | Allow shine color random |
| shine_animation_duration | void setAnimDuration(int) | Set shine anim duration |
| big_shine_color | void setBigShineColor(int) | Set big shine color |
| click_animation_duration | void setClickAnimDuration(int) | Set click anim duration |
| enable_flashing | void enableFlashing(boolean) | Enable effect like flash |
| shine_count | void setShineCount(int) | Set shine count around button |
| shine_distance_multiple | void setShineDistanceMultiple(float) | Set multiple of distance to button |
| shine_turn_angle | void setShineTurnAngle(float) | Set turn angle of shine |
| shine_size | void setShineSize(int) | Set size of shine by pixel |
| small_shine_color | void setSmallShineColor(int) | Set small shine color |
| small_shine_offset_angle | void setSmallShineOffAngle(float) | Set angle offset of small shine to big shine |
app:shine_turn_angle="20" app:shine_count="15" app:allow_random_color="true" app:enable_flashing="true"
<com.sackcentury.shinebuttonlib.ShineButton
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true"
android:src="@android:color/darker_gray"
android:id="@+id/po_image1"
app:btn_color="@android:color/darker_gray"
app:btn_fill_color="#FF6666"
app:allow_random_color="false"
app:enable_flashing="false"
app:big_shine_color="#FF6666"
app:click_animation_duration="200"
app:shine_animation_duration="1500"
app:shine_turn_angle="10"
app:small_shine_offset_angle="20"
app:shine_distance_multiple="1.5f"
app:small_shine_color="#CC9999"
app:shine_count="8"
app:siShape="@raw/like"/>
Requirements
- Android 4.0+
Code Reference
android-shape-imageview EasingInterpolator
Maven
<dependency> <groupId>com.sackcentury</groupId> <artifactId>shinebutton</artifactId> <version>0.2.0</version> <type>aar</type> </dependency>
Gradle
buildscript {
repositories {
mavenCentral()
}
}
dependencies {
compile 'com.sackcentury:shinebutton:0.2.0'
}
Further
1, SVG support;
2, Font support;
3, Image support...
Credits
iOS lib fave-button Android implement. FaveButton was inspired by Twitter’s Like Heart Animation;
Third Party Bindings
React Native
You may now use this library with React Native via the module here
5.ShineButton常用的方法说明 
ShineButton是一款适用于Android的UI库,提供炫彩发光效果的按钮组件。支持自定义颜色、形状资源、动画时长等,通过XML属性或Java方法灵活配置。兼容Android 4.0及以上版本。


595

被折叠的 条评论
为什么被折叠?



