Dada cualquier forma (ya sea círculo relleno, estrella, triángulo, mapa de bits con áreas transparentes, etc.) Me gustaría saber si es posible (utilizando la última API de Android) saber si el usuario ha hecho clic en la vista, o fuera de ella.Forma del botón real personalizada
Por ejemplo, si tengo un botón circular, me gustaría saber si el usuario ha hecho clic dentro del círculo, pero no fuera de él.
¿Es posible?
Si no, tal vez podría sondear el píxel del evento táctil, y si es transparente, ignórelo, y si no lo está, trátelo como un evento de clic.
esto en realidad parece prometedor! Sin embargo, tendré que verificarlo antes de marcar tu respuesta. podría haber un problema: ¿qué pasaría en diferentes pantallas de dispositivos (diferentes densidades/resoluciones)? ¿Seguirá funcionando? también, ¿este método usa más memoria de esta manera para el mapa de bits? –
también, ¿funcionará incluso si no uso un mapa de bits para mostrar en la vista? –
Si está diseñando para pantallas diferentes, debe utilizar fragmentos de todos modos. Y en cuanto al mapa de bits, creo que usar una imagen de botón normal no usará mucha memoria ya que se puede escalar fácilmente sin perder muchos detalles. Por último, sí, puedes usar el método drawbitmap, pero eso requeriría un lienzo, así que te recomendaría usar una vista de imagen en su lugar. –