Есть несколько похожих вопросов. Но они не решены!
Установить программный радиус угла RippleDrawable
Я знаю, что такое поведение можно сделать , используя xml-файл . Но я должен это программно.
Мой код указан ниже:
GradientDrawable gd = new GradientDrawable();
gd.setColor(Color.YELLOW);
gd.setStroke(2, Color.RED);
gd.setCornerRadius(45.0f);
view.setBackground(gd);
int[] colors = new int[]{Color.GRAY};
int[][] states = new int[][]{ new int[]{}};
ColorStateList stateList = new ColorStateList(states, colors);
Drawable mask = getResources().getDrawable(R.drawable.icon1);
RippleDrawable rippleDrawableBackgorund = new RippleDrawable(stateList, view.getBackground(), mask);
view.setBackground(rippleDrawableBackgorund);
Снимок экрана ниже для нажатого состояния:
Как я могу установить borderRadius для RippleDrawable? Кроме того, rippleDrawableBackgorund.setRadius
изменяет этот эффект для состояния наведения.