Android: ¿puedo crear una vista / lienzo que no sea rectangular, pero por ejemplo, redondo?

Tengo una vista que es ronda y flotando por encima (-> en la dirección del eje z que sale de la pantalla) el contenido principal. Cuando alguien toca la pantalla, quiero que el contenido principal sea seleccionado o la vista que se cierne encima, cuando cubre la vista principal.

Hasta ahora eso funciona perfectamente. Tengo un artículo redondeado en un lienzo transparente. Lo que significa que puede ver todo lo que está fuera de ese círculo. Sin embargo, no se puede seleccionar, porque sigue siendo el lienzo flotando, sólo con una pintura transparente.

Ahora me pregunto, para resolver este problema, si es posible hacer la vista / lienzo en sí forma redonda?


Actualizar

He añadido una imagen para una mejor explicación de lo que intento lograr. texto alternativo

Por lo que sé, es imposible. He comprobado las fuentes de View.java en git.kernel.org y se basa en la clase Rect – rects define la posición, el tamaño, las regiones para invalidar etc ("La geometría de una vista es la de un rectángulo." Los comentarios en View.java)

En cuanto a la clase Canvas – normalmente se construye sobre Bitmap o GL. El mapa de bits es definitivamente un rectange (una matriz), así que el lienzo parece representar un rectange también. Si se utiliza GL se especifica una ventana (que también es un rectángulo).

Parece ser la forma más obvia de comprobar si las coordenadas pasadas a su método onTouch () le encajan en la región y devuelven false si no lo hacen. A continuación, el evento se pasará a la vista siguiente y debe procesar el evento.

Probablemente no es relevante para el asker original, pero para cualquiera que todavía esté buscando, parece que esto se agregará en L: https://developer.android.com/preview/material/views-shadows.html#clip . El método View.setClipToOutline permite recortar una vista a la forma de una rectangular rectangular, circular o redonda.

Debe especificar un selector de Android para evitar la imagen de desplazamiento predeterminada.

  • ListView muestra imágenes incorrectas y duplicadas
  • Agregue un onClickListener en Default GroupIndicator en ExpandableListView
  • Establecer diferentes indicadores para diferentes grupos en android
  • Cuando establezco MinimumHeight, ¿qué unidades estoy usando?
  • ICS Spinner ("desplegable" en lugar de diálogo) en versiones anteriores de Android
  • Calidad de la animación de rotación de Android
  • Vistas duplicadas en Android durante el tiempo de ejecución
  • ¿Es posible pasar un onTouchEvent a varias vistas en Android?
  • Lista de posición de los puntos repetidos en getview
  • Android 3-level-ExpandableListView no mostrar filas sólo en el tercer nivel
  • Android deslizar la tarjeta con una pizca para ampliar la vista de la imagen con SwipeFlingAdapterView biblioteca
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.