Как сделать круглую кнопку в андроид?

Нужна именно круглая кнопка с ! круглой областью для клика.
Круглый фон понятно как делается, но кнопка то сама по себе остается квадратной, то-есть при клике на углы (там где нет фона) клик все равно обрабатывается.

На рисунке:
Как сделать так чтоб клики по красной области не обрабатывались?26627a046b8249deb77719e96da5872c.png
  • Вопрос задан
  • 26587 просмотров
Решения вопроса 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Проверяйте координаты клика.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@kis92
создаем в папке drawable файл oval_button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="oval">
            <solid android:color="#FCD366"/>
        </shape>
    </item>
</selector>

а в активити:

<Button
    android:id="@+id/button1"
   android:background="@drawable/oval_button"/>
Ответ написан
VYakushev
@VYakushev
Разработчик Android в Nowtaxi
Хотите вы того или нет, но любой View рисуется на Canvas, который однозначно имеет прямоугольную форму. Для вашей задачи подходит только кастомный View, в методе onDraw которого вы рисуете круглую кнопку, а в методе onKeyDown вы вычисляете координаты и решаете должно обрабатываться событие или нет, инициируя дополнительно performClick для вызова обработчиков подписчиков.
Ответ написан
Комментировать
@Copperfield
Android dude
Покажите как вы задавали круглый бэкграунд для кнопки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы