Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-11-2016
josesuarezochoa josesuarezochoa is offline
Registrado
 
Registrado: Nov 2016
Posts: 6
Poder: 0
josesuarezochoa Va por buen camino
Problemas de visualizacion de label en Firemonkey Delphi 10.1 (Multidevice)

Hola, al poner un label en app de MultiDevice, si el texto es mas grande que el Label se ve cortado y las letras un poco raras en la parte inferior. Le he puesto todas las opciones, trimming, WordWrap, Autosize, he probado con varias opciones y de varias maneras y no consigo que se vea correctamente en el movil, sin embargo la misma aplicacion en win 32 se muestra correctamente. Uso Delphi 10.1, movil galaxy s7, por si sirve de informacion adicional.
Gracias por la ayuda es la primera vez que creo un hilo en este sitio, aunque lo visito con frecuencia desde hace tiempo.
Responder Con Cita
  #2  
Antiguo 26-11-2016
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: May 2003
Ubicación: Colombia
Posts: 7.027
Poder: 23
jhonny Va camino a la fama
Tendríamos que ver como está la cosa... sin embargo podrías probar colocando un TLayout alineado en el lugar que deseas y poner el TLabel alineado al Client dentro del TLayout.

O bueno, quizá, simplemente sea cuestión de poner más grande el Alto de dicho TLabel.

Espero te sirva alguna de las sugerencias.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 26-11-2016
josesuarezochoa josesuarezochoa is offline
Registrado
 
Registrado: Nov 2016
Posts: 6
Poder: 0
josesuarezochoa Va por buen camino
Ya lo he probado

Gracias por la rápida respuesta pero ya he probado esas opciones, de hecho tengo el label creado y el texto al final si el texto es mas grande que el label, me muestra 3 puntos al final ... eso es en tiempo de diseño, y al ejecutar el programa ya no se ve igual. No se que pueda ser.
Responder Con Cita
  #4  
Antiguo 26-11-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
 
Registrado: Aug 2013
Ubicación: Argentina
Posts: 1.858
Poder: 9
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Proba con un TText
Responder Con Cita
  #5  
Antiguo 26-11-2016
josesuarezochoa josesuarezochoa is offline
Registrado
 
Registrado: Nov 2016
Posts: 6
Poder: 0
josesuarezochoa Va por buen camino
Ya lo he probado

Ya lo probe con un Ttext y me salía de la misma manera, de todas formas voy a probar de nuevo con el ttext y varias de sus funciones y mañana doy mas detalles.
Responder Con Cita
  #6  
Antiguo 27-11-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
 
Registrado: Aug 2013
Ubicación: Argentina
Posts: 1.858
Poder: 9
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
A mi este ejemplo me funciona bien. No he cambiado ninguna propiedad de las que vienen por defecto en diseño

Código Delphi [-]
unit Unit1;

interface

uses
  System.Classes,
  FMX.Forms,
  FMX.Types,
  FMX.Controls,
  FMX.Objects;

type
  TForm1 = class(TForm)
    Text1: TText;
    procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Text1.Align := TAlignLayout.Client;
  Text1.TextSettings.VertAlign := TTextAlign.Leading;
  Text1.Text := 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ' +
                'et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut ' +
                'aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse' +
                'cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, ' +
                'sunt in culpa qui officia deserunt mollit anim id est laborum.';
end;

end.

Dejo una imagen de como se ve en un Nexus 5X que tiene una pantalla de 5.2 pulgadas
Imágenes Adjuntas
Tipo de Archivo: png Screenshot_20161126-205105.png (153,2 KB, 19 visitas)
Responder Con Cita
  #7  
Antiguo 27-11-2016
josesuarezochoa josesuarezochoa is offline
Registrado
 
Registrado: Nov 2016
Posts: 6
Poder: 0
josesuarezochoa Va por buen camino
Ya lo he probado

Hola, gracias por contestar pero asi si me funciona bien. La forma en que digo yo es ese mismo texto que pusiste, que no se muestre completo, que solo muestre 3 líneas el label y el resto quede oculto con puntos supensivos al final.... Como lo muestras en tu imagen es completo, yo quiero que salga a mediados de línea sin que se muestre recortado, y si deseo pues dar click y que se muestre completo, pero lo esencial es que salga correctamente una parte del texto. En la imagen se muestra lo que me refiero y como sale el texto raro en la parte inferior.

Gracias de nuevo.
Imágenes Adjuntas
Tipo de Archivo: png Screenshot_20161127-013339.png (31,8 KB, 17 visitas)
Responder Con Cita
  #8  
Antiguo 27-11-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
 
Registrado: Aug 2013
Ubicación: Argentina
Posts: 1.858
Poder: 9
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Siguiendo el ejemplo anterior y cambiando el codigo:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Text1.Align := TAlignLayout.Top;
  Text1.Trimming := TTextTrimming.Word;
  Text1.VertTextAlign := TTextAlign.Leading;
  Text1.Text := 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ' +
                'et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut ' +
                'aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse' +
                'cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, ' +
                'sunt in culpa qui officia deserunt mollit anim id est laborum.';
  Text1.Height := Text1.Canvas.TextHeight(Text1.Text);
end;

procedure TForm1.Text1Click(Sender: TObject);
begin
  if Text1.Align = TAlignLayout.Top then
    Text1.Align := TAlignLayout.Client
  else
  begin
    Text1.Align := TAlignLayout.Top;
    Text1.Height := Text1.Canvas.TextHeight(Text1.Text);
  end;
end;

Tendrias que ajustar el calculo del alto cuando el texto se contrae. Por ejemplo podrias pasarle al Canvas como parametro las 3 primeras lineas para que te devuelva el alto necesario para mostrar esas 3 lineas
Responder Con Cita
  #9  
Antiguo 31-12-2017
josesuarezochoa josesuarezochoa is offline
Registrado
 
Registrado: Nov 2016
Posts: 6
Poder: 0
josesuarezochoa Va por buen camino
Firemonkey Android Problemas al Visualizar fuentes

Hola, Tengo problemas al visualizar las fuentes en mi dispositivo android (Galaxy S7), las fuentes se muestran con una linea en la parte inferior, ya he probado a cambiar el fonts, size, autosize, pero se sigue mostrando con problemas. adjunto imagen para ver si me pueden ayudar.

Nota: son las pequeñas lineas debajo de las letras, no puedo subirla con mas calidad por limites en el servidor.

Gracias
Imágenes Adjuntas
Tipo de Archivo: jpg Android fuentes problemas.jpg (30,1 KB, 7 visitas)
Responder Con Cita
  #10  
Antiguo 31-12-2017
josesuarezochoa josesuarezochoa is offline
Registrado
 
Registrado: Nov 2016
Posts: 6
Poder: 0
josesuarezochoa Va por buen camino
Solucionado

al final lo que hice fue crear una función y en el evento onpaint del label pues llamarla:

Código Delphi [-]
LabelDescripcionDetalles.Text:=AdaptarTexto(LabelDescripcionDetalles.Text,cantidadcaracteres);
Código Delphi [-]
function TForm1.AdaptarTexto(texto:string;largo:integer): String;
begin
  if (Length(texto)>largo) and (largo > 5) then
  begin
    result:=Copy(texto,1,largo);
    Result:=result+'...';
  end
  else
    result:=texto;
end;

Por si a alguien le sirve de ayuda.

Última edición por ecfisa fecha: 31-12-2017 a las 00:53:40. Razón: Agregar etiquetas [delphi] [/delphi]
Responder Con Cita
  #11  
Antiguo 31-12-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.083
Poder: 29
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Muchas gracias por publicar la soluciòn .

Por favor cuando incluyas código, aplícale las etiquetas correspondientes para una mejor visualización:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Dónde conseguir componentes para Firemonkey? ¿Cómo véis a Firemonkey? dec FireMonkey 27 08-10-2016 17:49:19
Principales problemas de Firemonkey en iOS DarkDudae FireMonkey 0 25-05-2013 12:43:07
Problemas visualizacion info en red usando ADOQuery mizzard C++ Builder 2 20-12-2011 10:52:19
De D6,D7 a D2007 : Problemas con visualización old_martinez Varios 2 17-03-2009 14:16:38
problemas con visualizacion en winxp seb@ OOP 1 07-08-2005 15:19:51


La franja horaria es GMT +2. Ahora son las 13:02:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi