¿Es posible enmascarar vistas? Por ejemplo, si tengo un diseño que requiere una vista de lista para ser visible dentro de una abertura de forma ovalada. ¿Hay alguna manera de crear una máscara para una vista? ¿Se llama algo más? Debido a que todas las referencias que encuentro para enmascarar en los documentos de Android están hablando de enmascarar un objeto canvas o drawable. Pero no creo que hacer un dibujable de un objeto interactivo como una vista de lista sería un buen enfoque. ¿Es esto solo una limitación para tratar por ahora?¿Es posible enmascarar una vista en Android?
15
A
Respuesta
30
Sí, es - usted tiene que reemplazar el método de dibujo de la vista - es decir:
......
final Path path = new Path();
path.addRoundRect(new RectF(0,0,getWidth(),getHeight()),10,10,Direction.CW);
......
@Override
protected void dispatchDraw(Canvas canvas){
canvas.clipPath(path);
super.dispatchDraw(canvas);
}
Para ello se utilizará la vista sólo en los límites establecidos por ruta.
10
Sí, incluso puede enmascarar diseños completos. selfplug Shameless
<com.christophesmet.android.views.maskableframelayout.MaskableFrameLayout
android:id="@+id/frm_mask_animated"
android:layout_width="100dp"
app:porterduffxfermode="DST_IN"
app:mask="@drawable/animation_mask"
android:layout_height="100dp">
<ImageView android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/unicorn"/>
usted lo puede encontrar here
Cuestiones relacionadas
- 1. ¿Es posible colocar una vista sobre otra en Android?
- 2. Android: ¿Es posible hacer una copia de una Vista?
- 3. ¿Es posible deshabilitar el desplazamiento en una lista Vista?
- 4. ¿Cómo enmascarar una imagen en IOS SDK?
- 5. ¿Es posible escribir verticalmente en una vista de texto en Android?
- 6. ¿Es posible actualizar parcialmente una vista materializada en Oracle?
- 7. ¿Es posible tener una vista indexada en MySQL?
- 8. ¿Es posible insertar datos en una vista de MySQL?
- 9. ¿Es posible deshabilitar todas las funciones de desplazamiento y acercamiento en una vista web de Android?
- 10. Android: ¿Es posible actualizar solo un elemento en una vista de lista?
- 11. getImageResource() Android. es posible?
- 12. ¿Cómo enmascarar una contraseña en Java 5?
- 13. ¿Es posible establecer cabeceras HTTP personalizado en la vista Web
- 14. ¿Es posible renderizar una vista de Android a un OpenGL FBO o textura?
- 15. ¿Es posible desarrollar Android para Android?
- 16. Cómo enmascarar UIViews en iOS
- 17. ¿Es posible tener permisos "opcionales" en Android?
- 18. ¿Cómo grabar llamadas en android? ¿Es posible?
- 19. Emulador de CyanogenMod en Android: ¿es posible?
- 20. Actualizar una vista Android
- 21. ¿Es posible comprimir videos en Android?
- 22. OpenCV bitwise_and + enmascarar
- 23. ¿Es posible implementar aplicaciones Silverlight en Android?
- 24. ¿Es posible usar GTK + en Android?
- 25. una vista de texto en Android
- 26. ¿Es posible obtener una vista previa de una página del mercado de aplicaciones antes de publicarla?
- 27. es posible la autoupdating en Android sin usar Android Market?
- 28. UIBezierpath de enmascarar un UIImage
- 29. Fragmentos en Android 2.2.1, 2.3, 2.0. es posible?
- 30. ¿Es posible actualizar la vista de un fragmento
También podría crear lo que sea "máscara" efecto deseado y sólo hay que poner en su propio punto de vista y lo puso sábana/frente a la vista de que se trate . Si solo necesita este efecto para 1 vista específica, esto le ahorrará la molestia de crear sus propias vistas y editar los métodos de dibujo. – FoamyGuy
Eso sería un error, Tim. Ralentizará su aplicación al crear una jerarquía de vistas completamente innecesaria en una plataforma móvil donde el rendimiento es crucial. – asenovm
Estoy de acuerdo en que se obtendría un peor rendimiento. Sostengo que si lo está aplicando para 1 vista dentro de 1 actividad, la diferencia en el rendimiento será imperceptible para el ojo humano en los dispositivos que están disponibles. Y que hacerlo con vistas separadas puede parecer menos desalentador para algunas personas que intentar crear su propia vista para que puedan anular los métodos de dibujo. Sé que hacer cosas así se vuelve trivial después de que tengas algunas en tu haber. Pero si nunca lo has hecho antes, para mí parece que podría ser un poco abrumador. – FoamyGuy