我有一个FAB,其默认颜色为绿色,是否可以在每次单击时更改颜色?例如,从绿色到红色。
如果可以的话,我想我需要在color / custom_color.xml中添加自定义颜色,但是属性是什么?
答案 0 :(得分:1)
尝试将app:backgroundTint
添加到xml中的FloatingActionButton
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_dialog_email"
app:backgroundTint="@color/red"/>
在您的活动中,通过添加点击侦听器来更改按钮颜色:
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fab.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(MainActivity.this, R.color.blue)));
}
});
答案 1 :(得分:0)
您可以使用setBackgroundTintList()
更新fab按钮的颜色。
fab.setBackgroundTintList(ColorStateList.valueOf(Color
.parseColor("#33691E")));
然后,您只需要设置OnclickListener并在值数组中选择随机颜色即可。
// Create list of random colors
ArrayList<String> colors = new ArrayList<>();
colors.add("#33691E");
colors.add("#00AE1E");
colors.add("#45F41E");
//Srt onclicklistener
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Pick random color
Random r = new Random();
int randomIdx = r.nextInt(colors.size());
// Set background
fab.setBackgroundTintList(ColorStateList.valueOf(Color
.parseColor(colors.get(randomIdx))));
}
});
答案 2 :(得分:0)
您可以更改“浮动操作”按钮的颜色:
$member -eq $null
因此Remove-LocalGroupMember
是可用来更改FAB背景颜色的属性。
或者如果您想更改图标颜色:
<android.support.design.widget.FloatingActionButton
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add"
app:backgroundTint="@color/red"
app:borderWidth="0dp"
app:elevation="2dp"
app:fabSize="normal" >