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. 如何在一個方法內創建一個動態命名的選擇器