0
A
回答
1
使用此answer我创建了一个utils的类的代码。
public class GlowEffectUtils {
@NonNull
public static Drawable createSelector(@NonNull Resources resources, @NonNull View view) {
Bitmap glow = createGlow(view);
StateListDrawable selector = new StateListDrawable();
BitmapDrawable glowDrawable = new BitmapDrawable(resources, glow);
selector.addState(new int[]{android.R.attr.state_focused}, glowDrawable);
return selector;
}
@NonNull
private static Bitmap createGlow(@NonNull View view) {
int glowRadius = 15;
int glowColor = Color.rgb(255, 255, 255);
Bitmap src = createBitmap(view);
Bitmap alpha = src.extractAlpha();
Bitmap bmp = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
Paint paint = new Paint();
paint.setColor(glowColor);
paint.setMaskFilter(new BlurMaskFilter(glowRadius, BlurMaskFilter.Blur.OUTER));
canvas.drawBitmap(alpha, 0, 0, paint);
return bmp;
}
@NonNull
private static Bitmap createBitmap(View v) {
Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.draw(c);
return b;
}
}
,并将其设置是这样的:
Resources resources = itemView.getContext().getResources();
Drawable selector = GlowEffectUtils.createSelector(resources, itemView);
itemView.setBackground(selector);
相关问题
- 1. MySQL为选择列创建触发器
- 2. 如何为listview项目创建一个真正的选择器?
- 3. 如何创建这个选择器
- 4. MySQL如何创建一个从另一个表中选择的触发器?
- 5. 如何创建事件触发器创建表或选择到
- 6. 创建一个jQuery选择器
- 7. 如何在iOS中创建多个值选择选择器?
- 8. 如何创建一个这样的日期选择器?
- 9. React-native - 如何创建一个无限选择器
- 10. Android - 如何创建一个图像选择器
- 11. 如何创建一个随机的字选择器方法
- 12. 如何创建一个时间选择器
- 13. 如何创建一个高性能的选择器[无jQuery,请]
- 14. 如何创建一个“选择器阵列”
- 15. 如何创建一个单独的时间选择器类
- 16. 如何创建从另一个表复制选择的SQL触发器?
- 17. Rails如何为选择标签创建一个月数组?
- 18. 如何创建一个发光的字体?
- 19. 如何创建文件选择器
- 20. 如何创建JQuery选择器函数?
- 21. 如何创建颜色选择器
- 22. 如何为RecyclerView创建ItemMenu和onItemClickListener?
- 23. 为Chrome动态创建一个css选择器
- 24. Drupal:为管理风格创建一个独特的选择器?
- 25. Espresso AmbiguousViewMatcherException:如何从多个水平Recyclerview中选择第一个水平Recyclerview
- 26. 如何在统一中创建材料选择器选项?
- 27. Recyclerview单品选择器
- 28. 创建一个像ViewPager一样的RecyclerView
- 29. OpenGL ES - 如何创建飞机发光
- 30. 如何在一个方法内创建一个动态命名的选择器