当前位置: 首页 > 工具软件 > ShineButton > 使用案例 >

ShineButton-一个动效的按钮

轩辕晔
2023-12-01

学习笔记

1.效果图

2.使用方法

 // 添加依赖
 implementation 'com.sackcentury:shinebutton:0.2.0'
复制代码

3.ShineButton常用的方法说明

常用的方法说明
PropertyJava methodDescription
siShapevoid setShapeResource(int)设置原始资源(png)
btn_colorvoid setBtnColor(int)设置初始颜色
btn_fill_colorvoid setBtnFillColor(int)设置点击后设置填充颜色
allow_random_colorvoid setAllowRandomColor(boolean)设置点击后动画颜色是否随机
shine_animation_durationvoid setAnimDuration(int)设置动画时间
big_shine_colorvoid setBigShineColor(int)设置动画大半径圆圈的颜色
click_animation_durationvoid setClickAnimDuration(int)设置点击动画持续时间
enable_flashingvoid enableFlashing(boolean)是否启用闪光效果
shine_countvoid setShineCount(int)设置圆点的个数
shine_distance_multiplevoid setShineDistanceMultiple(float)设置距离到按钮的倍数
shine_turn_anglevoid setShineTurnAngle(float)设置动画旋转角度
shine_sizevoid setShineSize(int)设置闪光尺寸大小
small_shine_colorvoid setSmallShineColor(int)设置动画小半径圆圈的颜色
small_shine_offset_anglevoid setSmallShineOffAngle(float)设置大小点之间偏移

4.附上demo代码:

①Activity:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    @BindView(R.id.po_image0)
    ShineButton shineButton0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);

        shineButton0.init(this);
        shineButton0.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.po_image0:
                Log.e("按钮0是否被选中--->",shineButton0.isChecked()+"");
                // code
                break;
            default:
                break;
        }
    }
}

复制代码

② Xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="30dp"
    android:paddingTop="30dp"
    tools:context=".MainActivity">

    <LinearLayout
        android:id="@+id/wrapper"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:orientation="horizontal">

        <com.sackcentury.shinebuttonlib.ShineButton
            android:id="@+id/po_image0"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_centerInParent="true"
            android:layout_marginLeft="60dp"
            app:btn_color="@android:color/darker_gray"
            app:btn_fill_color="#999933"
            app:siShape="@raw/heart" />

        <com.sackcentury.shinebuttonlib.ShineButton
            android:id="@+id/po_image1"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_centerInParent="true"
            android:layout_marginLeft="20dp"
            android:src="@android:color/darker_gray"
            app:allow_random_color="false"
            app:big_shine_color="#FF6666"
            app:btn_color="@android:color/darker_gray"
            app:btn_fill_color="#FF6666"
            app:click_animation_duration="200"
            app:enable_flashing="false"
            app:shine_animation_duration="1500"
            app:shine_count="15"
            app:shine_distance_multiple="1.5"
            app:shine_turn_angle="10"
            app:siShape="@raw/like"
            app:small_shine_color="#CC9999"
            app:small_shine_offset_angle="20" />

        <com.sackcentury.shinebuttonlib.ShineButton
            android:id="@+id/po_image2"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_centerInParent="true"
            android:layout_marginLeft="20dp"
            android:src="@android:color/darker_gray"
            app:allow_random_color="true"
            app:btn_color="@android:color/darker_gray"
            app:btn_fill_color="#F44336"
            app:siShape="@raw/smile" />

        <com.sackcentury.shinebuttonlib.ShineButton
            android:id="@+id/po_image3"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_centerInParent="true"
            android:layout_marginLeft="20dp"
            app:btn_color="@android:color/darker_gray"
            app:btn_fill_color="#996699"
            app:enable_flashing="true"
            app:shine_size="40dp"
            app:siShape="@raw/star" />
        
    </LinearLayout>
</RelativeLayout>

复制代码

就是简单的控件使用,掌握好属性就可以了。 效果比较好看,留个笔记。

 类似资料: