Lienzo dirección drawtext
Cómo hacer que el texto fue escrito verticalmente? Cómo girar el texto 90 grados? Escribir cada letra individual es estúpido, pero ahora, no sé de otra manera.
Paint paint = new Paint(); public DrawView(Context context, double arr[]) { super(context); paint.setColor(Color.BLACK); } @Override public void onDraw(Canvas canvas) { canvas.drawText("Test",50, 50, paint); }
- Evita la rotación de la pantalla en Android
- Android, App se estrelló en la rotación de la pantalla con el diálogo abierto
- Texto de vista de texto de android en dirección vertical
- Rotar una imagen en Android sin OutOfMemoryError o downscaling
- Android: Manejo eficiente de la rotación de la pantalla
- ¿Cómo restaurar la posición de desplazamiento de texto tras la rotación de la pantalla?
- Sprite Rotación en Android con Canvas.DrawBitmap. Estoy cerca, ¿qué estoy haciendo mal?
- Rotate jpeg utilizando ExifInterface no funciona a veces
- Cómo iframe un video de youtube en HTML para teléfonos Android para poder ver y rotar a pantalla completa?
- Android visualiza la transformación de rotación 3D en pantallas de gran resolución
- Cómo usar los datos del sensor onSensorChanged en combinación con OpenGL
- Establecer vista de imagen después del cambio de orientación
- ¿Cómo desactivar la rotación en modo horizontal?
Simplemente girar el texto (o cualquier otra cosa) es fácil: Utilice el método rotate()
para girar el lienzo (después se gira de nuevo, de lo contrario todo lo que dibuja se gira):
canvas.save(); canvas.rotate(90f, 50, 50); canvas.drawText("Text",50, 50, paint); canvas.restore();
Los métodos save()
y restore()
guardan respectivamente el estado del lienzo y lo restablecen. Así que el resto de los elementos dibujados no se rotan. Si sólo desea pintar el texto estos dos métodos no son necesarios.
Si desea poner los caracteres de la cadena uno bajo el otro, necesita procesar cada carácter por separado. Primero tendrías que obtener la altura de la fuente y al dibujar cada carácter necesitas aumentar la coordenada y con esta altura una y otra vez.
int y = 50; int fontHeight = 12; // I am (currently) too lazy to properly request the fontHeight and it does not matter for this example :P for(char c: "Text".toCharArray()) { canvas.drawText(c, 50, y, paint); y += fontHeight; }
La versión correcta es: Canvas canvas_front = new Canvas (bitmap_front);
Paint paint = new Paint(); paint.setColor(Color.rgb(140, 0, 0)); paint.setAlpha(80); paint.setStrokeWidth(2);
Canvas_front.drawLine (0, (flotante) (frontIV.getHeight () * 0.9), frontIV.getWidth (), (float) (frontIV.getHeight () * 0.9), pintura);
canvas_front.save(); canvas_front.rotate((float) 90 , 50, 50); canvas_front.drawText("Text",50, 50, paint); canvas_front.restore(); frontIV.setImageBitmap(bitmap_front);
- Cómo obtener información de perfil de usuario de Facebook API Android
- Android: visualización de lista inversa como mensaje