Tengo que girar un botón (o el texto en el interior, es el mismo) por grado aleatorio por codificación. ¿Hay algún botón.setRotate (x) en nivel de API inferior a 11?Gire un botón (o el texto dentro) en el código
Respuesta
Ok, eché un vistazo y la respuesta es: es complicado.
Puede girar el botón utilizando el antiguo marco de animación, p. como este:
Button button = (Button) findViewById(R.id.button);
// rotation from 0 to 90 degrees here
RotateAnimation a = new RotateAnimation(0, 90);
a.setFillAfter(true);
a.setDuration(0);
button.startAnimation(a);
El problema aquí es que el botón se ve rotado, pero no se puede hacer clic correctamente. Las coordenadas que activan el evento de clic son las que estaban en el área que el botón tenía antes de ser girada.
Dado que esta no es una solución muy buena, la mejor opción es escribir una vista personalizada que amplíe la clase Button y gire el lienzo de botones en onDraw()
. También debe sobrescribir onMeasure()
en este caso. Vea Custom Components para una introducción que hacer.
Aparte de eso, puede intentar interceptar los eventos de clic desde el diseño principal de los botones y desencadenar el evento apropiado cuando el clic ocurra dentro de las coordenadas actuales de los botones. Aunque esto es algo "hacky".
mañana voy a probar! mis botones son cuadrados, por lo que podría funcionar. –
agregando la información de pivote para centrar la animación, ¡es perfecto! Gracias RotateAnimation a = new RotateAnimation (0, 90, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); –
por favor soy nuevo en android devlopment, ¿podría mostrarme cómo extender la clase de botón, con su código de rotación? – Mehdi
- 1. Obtener el texto dentro de un botón
- 2. El texto dentro de un botón de radio
- 3. Reducir el relleno de texto dentro de un botón
- 4. ¿Cómo puedo hacer que el texto gire correctamente?
- 5. Ajustar texto dentro de un asp: Botón
- 6. Gire un botón de la interfaz de usuario en el SDK de iPhone
- 7. ¿Cómo puedo mostrar un "&" (ampersand) en el botón o en el texto de la etiqueta?
- 8. ¿Cómo obtengo el texto de un botón en Java?
- 9. Texto de alineación izquierda dentro de un botón en Android
- 10. jquery arrastre y gire en el ángulo
- 11. Android widget: Cómo cambiar el texto de un botón
- 12. resume el texto o simplifica el texto
- 13. Gire el rectángulo alrededor de su centro
- 14. Gire la imagen hacia la derecha o hacia la izquierda dentro de un div usando javascript
- 15. Cómo cambiar el texto de un TextView presionando un botón
- 16. Alineación de texto en el botón
- 17. WPF: Gire el rectángulo y colóquelo en el lienzo
- 18. Usando el código C# para simular el llenado del cuadro de texto y presionando el botón
- 19. Simple CSS: El texto no se centrará en un botón
- 20. ¿Cambiar el texto del botón de xcode?
- 21. Reducir el relleno alrededor del texto en el botón WinForms
- 22. El texto del botón no se centra verticalmente en el botón
- 23. Borrar el color del botón en el campo de texto
- 24. Cambiando el texto del botón hecho en el teclado
- 25. ¿Cómo establecer el color del texto en el botón Enviar?
- 26. deshabilitar el botón predeterminado o introduzca clave en asp.net C#
- 27. Gire el elemento de lxml.objectify de nuevo en XML
- 28. ¿Cómo estirar texto en un botón cuadrado?
- 29. Cómo cambiar el tamaño de un botón según su texto
- 30. evento Click para el elemento anidado dentro de un botón
¿Qué le pasa a esta pregunta? –
No muestra esfuerzo de investigación. Abra el documento de la clase 'Button', use la función de búsqueda de su navegador y escriba' rotation' en el campo de búsqueda y verá a qué me refiero. –
He buscado mucho, pero la mayoría de las preguntas se refieren a la rotación de imágenes presionando el botón ... no gira el botón. en la documentación, encontré solo "setRotation (float) = rotation of the VIEW, in degree" .. No sé cómo implementar para girar el botón. button.setRotate (x) no funciona. –