小编Aka*_*mar的帖子

通过波纹效果更改FAB颜色

在Android中,我想做这样的事情(但是有2种黑白交替色:

像这样用波纹效果改变颜色

在此处输入图片说明

我试图做的是:

1)通过XML设置默认的backgroundTint和波纹颜色

app:backgroundTint="@android:color/black"
app:rippleColor="@android:color/white"
Run Code Online (Sandbox Code Playgroud)

2)在onclick方法中,将backgroundTint更改为白色,并将波纹颜色更改为黑色

为初始颜色设置一个字符串,即high_color = "black"。然后,

fab.setOnClickListener(new View.OnClickListener() {
        @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
        @Override
        public void onClick(View v) {
            if(high_color.equals("black")){
                fab.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(getApplicationContext(), R.color.white)));
                fab.setImageTintList(ColorStateList.valueOf(ContextCompat.getColor(getApplicationContext(), R.color.black)));
                fab.setRippleColor(ContextCompat.getColor(getApplicationContext(), R.color.black));
                high_color = "white";
            }else {
                fab.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(getApplicationContext(), R.color.black)));
                fab.setImageTintList(ColorStateList.valueOf(ContextCompat.getColor(getApplicationContext(), R.color.white)));
                fab.setRippleColor(ContextCompat.getColor(getApplicationContext(), R.color.whites));
                high_color = "black";
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

现在我得到这样的东西:

我得到的是这个

在此处输入图片说明

无论如何,要使它看起来像第一个吗?像放慢涟漪动画速度之类的速度?

android android-layout floating-action-button rippledrawable

5
推荐指数
1
解决办法
1490
查看次数