以编程方式更改FloatingActionButton的背景颜色

时间:2016-03-15 18:59:03

标签: android material-design

我尝试了setBackgroundTintList方法,但它需要min api 21,这不是大多数程序员想要的。我想改变FloatingActionButton的bgcolor,但是以编程方式保持向后兼容性。 有什么办法或解决方法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用

mFab.setBackgroundTintList(ColorStateList.valueOf(your color in int));

例如:

fabAdd.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(mContext, R.color.main_screen_status_bar)));

答案 1 :(得分:0)

如果您在构建中使用支持库:

compile 'com.android.support:support-v4:23.2.1'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:preference-v7:23.2.1'
compile 'com.android.support:preference-v14:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.android.support:support-vector-drawable:23.2.1'
compile 'com.android.support:animated-vector-drawable:23.2.1'

并在你的班级中导入:

import android.support.design.widget.FloatingActionButton;

你应该可以致电:

setBackgroundTintList

您还需要在布局文件中使用Widgets的支持版本。

我认为您也可以使用DrawableCompat课程,但我对此没有任何经验。