Я пытаюсь сделать меню кругов, как в этом приложении.
В расширенном режиме я рисую этот компонент следующим образом:
<RelativeLayout android:id="@+id/bigCircle">
<!--color full borders-->
<my.custom.component android:id="@+id/middleCircle">
<!--circle for buttons-->
<RelativeLayout android:id="@+id/smallCircle">
<!--minus button-->
</RelativeLayout>
</my.custom.component>
</RelativeLayout>
В методе onDraw my.custom.component
я разделим круг на 8 частей с помощью android.graphics.Path
с android.graphics.Paint
и некоторой математикой.
Визуально я точно так же, как показано на скриншоте. Но когда я нажимаю на часть круга, мне нужно перерисовать эту часть в другом цвете, чтобы показать пользователю, что-то происходит.
Как я могу перерисовать часть холста компонента, отрезав из другой части холста android.graphics.Path
, например.
В другом слове я знаю, что может быть сделано в методе onDraw для перерисовывания, которое я должен делать, я знаю, что могу показать некоторые растровые изображения из рисунков, нарисованных в Photoshop, и имеют некоторые" многоэкранные проблемы", я знаю, как я могу определить часть, которую пользователь нажал. Но я не знаю, как я могу выбрать часть холста и перерисовать его.