Это не совсем то, что вы ищете, потому что это не реализовано с XML.Однако с новым MaterialButton
его очень просто получить:
Просто определите кнопку в макете:
<com.google.android.material.button.MaterialButton
app:cornerRadius="0dp"
android:paddingLeft="24dp"
android:paddingRight="12dp"
.../>
Затем просто используйте ShapeAppearanceModel
для определения пользовательской фигуры.
float size = getResources().getDimension(R.dimen.cutout_size); //18dp
TriangleEdgeTreatment triangleEdgeTreatment = new TriangleEdgeTreatment(size,true);
CutCornerTreatment cutCornerTreatment = new CutCornerTreatment(size);
button.setShapeAppearanceModel(button.getShapeAppearanceModel()
.toBuilder()
.setLeftEdge(triangleEdgeTreatment)
.setTopRightCorner(cutCornerTreatment)
.setBottomRightCorner(cutCornerTreatment)
.build());
![enter image description here](https://i.stack.imgur.com/t5I3s.png)
Использование дополнительных кнопок (используйте button.setBackgroundTintList(..)
или app:backgroundTint="..."
в xml для изменения backgroundColor) вы можете получить что-то вроде:
![enter image description here](https://i.stack.imgur.com/TF4hg.png)