我尝试了setBackgroundTintList方法,但它需要min api 21,这不是大多数程序员想要的。我想改变FloatingActionButton的bgcolor,但是以编程方式保持向后兼容性。 有什么办法或解决方法吗?
答案 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课程,但我对此没有任何经验。