我想更改View的Backgroundtint,这是我找到的唯一方法。但是我收到一条消息,说它只适用于某些API。我能以某种方式使用API 15吗?或者实际上有更好的方法来显示用户一个按钮被选中?API 21之前的View.setBackgroundTintList?
1
A
回答
2
ViewCompat.setBackgroundTintList()会做的伎俩高达API 4.
适用色调的背景绘制。
在API v21或更新版本上运行时,这将始终生效。在API v21之前的平台上运行时,只有在视图实现TintableBackgroundView界面时才会生效。
1
是,
使用Java代码可以更改任何视图的绘制颜色这样像:
public static void setIconColor(TextView tv, int which, int color) {
tv.getCompoundDrawables()[which].mutate();
tv.getCompoundDrawables()[which].setColorFilter(ContextCompat.getColor(tv.getContext(), color), PorterDuff.Mode.SRC_ATOP);
}
public static void setIconColor(ImageView imageView, int color) {
imageView.getDrawable().mutate();
imageView.getDrawable().setColorFilter(ContextCompat.getColor(imageView.getContext(), color), PorterDuff.Mode.SRC_ATOP);
}
对于用户按钮来选择?你应该使用
android:background="?attr/selectableItemBackground"
希望它能帮助你!
相关问题
- 1. API之前的Android背景服务21
- 2. TextView setShowSoftInputOnFocus相当于SDK 21之前吗?
- 3. 为Android API 21
- 4. recyclerView创建所有预览之前,能够滚动下面的API 21
- 5. Android SDK API 22到API 21
- 6. get android.jar(API 21)神器
- 7. 替代alertdialog.builder.setview以下API 21
- 8. 主要暗色android API 21
- 9. API之前的MultiChoiceMode 11
- 10. Android RTL表单API 10到API 21
- 11. 需要API级别21(当前最小值是16)
- 12. 材料主题在21之前的设备上没有正确应用
- 13. android ormlite Samsung S4 API上的NoClassDefFoundError 21
- 14. WooCommerce REST API - 获取使用参数之前/之前的订单
- 15. API 21滑动选项卡活动
- 16. API 21如何获得所选时间?
- 17. AppCompatCheckBox工作不低于API 21
- 18. 使用代码预API更改RadioButtonColor 21
- 19. Android CheckBox API <21兼容性问题
- 20. 文字转语音与API 21
- 21. 在API上拖放阴影21
- 22. AnimatedVectorDrawable不显示任何动画API 21+
- 23. 进度条是在API无形> = 21
- 24. 溢出图标颜色<API 21
- 25. 渐变不适用于Lollipop API 21
- 26. ListView在API上嵌套滚动<21
- 27. 将标头传递给Prophet 21 API
- 28. Android Lollipop API 21样本缺失?
- 29. 为Android SDK 21
感谢它的工作原理,即使点击有这个非常丑陋的动画。 – newToEverything