Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

nobody32165479

[Resolvido] Como colocar mais de uma linha no título de uma aba d

Recommended Posts

Fiz um accordion que puxa um banco de perguntas e respostas de um xml colocando o título como a pergunta e no conteúdo de uma aba coloquei uma caixa de texto com a resposta, porem estou com o seguinte problema: Algumas perguntas tem uma extensão muito grante e ultrapassa o limite de 580px no height gostaria de saber se a como aumentar o tamanho da aba.

 

Uso o Adobe Flash CS4, estou programando no Action Script 1.0 e 2.0.

 

Abaixo o código que estou usando para criar o accordion e para ler o xml, já fica pra que estiver pesquisando isso, pois ja havia procurado em todo cando e não achava algo do tipo:

 

import mx.controls.*;
import mx.containers.*;
import mx.controls.gridclasses.DataGridColumn;
System.useCodepage = true;
var arquivo:XML = new XML();
var n:Number;
var p:Number = 0;
var maxdown:Number = 0;
var texto:TextField;

this.createClassObject(Accordion, "accordion", 0, {_x:0, _y:0});


arquivo.load("arquivo.xml");
arquivo.ignoreWhite = true;
arquivo.onload = function() {
accordion.setSize(580, ((this.childNodes[0].childNodes.length*25)+200));
maxdown = ((((this.childNodes[0].childNodes.length*25)+200)-378)* - 1)
while(p < this.childNodes[0].childNodes.length)
{
   with(accordion.createChild(mx.core.View, p, {label:this.childNodes[0].childNodes[p].attributes.pergunta})){
      createTextField("texto",50,0,0,580,200);
      texto.text =String(this.childNodes[0].childNodes[p].attributes.resposta);
      var formato:TextFormat = new TextFormat();
      formato.font = "Arial";
      formato.color = 0x000000;
      formato.size = 10;
      texto.setTextFormat(formato);
      texto.multiline = true;
      texto.wordWrap = true;
      texto.width = 588;
      texto.height = ((texto.length/100) * 30)+20;

   }
   p++;
}
}

PS(O tamanho do accordion varia de acordo com a quantidade de dados).

 

arquivo.xml:

 

<?xml version="1.0" encoding="iso-8859-1"?>
<galeria>
   <aba imagem="images/panel05.jpg" pergunta="sdfgsdghsgjhdsfhkjdgjklkçhk~jçhfghdfghdfghdfghdfghdfghdfghdfghdfghdfghdfghdfghdfghdfghdfghdfghdfhgdfghdfhgdfhgjsfghsdhsjfksdfhsdghsdfgsdfgsdfggjkgçghjklfhjsghafhsfgjfj" resposta="aasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafgaasdfgaefgsdfhgadfgnadçfhajdfgadfgoafg"/>
   <aba imagem="images/panel05.jpg" pergunta="b" resposta="b"/>
   <aba imagem="images/panel05.jpg" pergunta="c" resposta="c"/>
   <aba imagem="images/panel05.jpg" pergunta="d" resposta="d"/>
   <aba imagem="images/panel05.jpg" pergunta="e" resposta="e"/>
   <aba imagem="images/panel05.jpg" pergunta="f" resposta="f"/>
   <aba imagem="images/panel05.jpg" pergunta="a" resposta="a"/>
   <aba imagem="images/panel05.jpg" pergunta="b" resposta="b"/>
   <aba imagem="images/panel05.jpg" pergunta="c" resposta="c"/>
   <aba imagem="images/panel05.jpg" pergunta="d" resposta="d"/>
   <aba imagem="images/panel05.jpg" pergunta="e" resposta="e"/>
   <aba imagem="images/panel05.jpg" pergunta="f" resposta="f"/>
</galeria>

Swf Compilada:

http://www.airtongom...teste%20xml.swf

 

Ou qual seria uma boa alternativa para o meu problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só você calcular o tamanho da aba antes de setar o tamanho do dela

 

no setSize você coloca o 580 como primeiro parametro... coloque como um valor dinamico pegando o tamanho de acordo com o campo de texto ou se for menor use 580 tendeu???

 

com um If else você muda uma variavel que vai setar esse valor do setSize

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendí direito como eu vou definir o SetSize do label da aba?

({label:this.childNodes[0].childNodes[p].attributes.pergunta})

Seria + ou - isto:

var aba:TextField;
aba.text = this.childNodes[0].childNodes[p].attributes.pergunta;
aba.height = ((aba.length/100) * 30)+20; 

   with(accordion.createChild(mx.core.View, p, {aba})){
      createTextField("texto",50,0,0,580,200);
      texto.text =String(this.childNodes[0].childNodes[p].attributes.resposta);
      var formato:TextFormat = new TextFormat();
      formato.font = "Arial";
      formato.color = 0x000000;
      formato.size = 10;
      texto.setTextFormat(formato);
      texto.multiline = true;
      texto.wordWrap = true;
      texto.width = 588;
      texto.height = ((texto.length/100) * 30)+20;   
  }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora entendí oq você quiz dizer... você está dizendo pra eu extender o width do accordion inteiro de acordo com o tamanho do texto, mas não é isso, oq eu quero colocar uma segunda linha ou ativar algum tipo de quebra de linha automática no título de cada aba onde fica a pergunta:

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai já não creio que seja possivel...

 

Varios desses componentes... como dataGrid etc... não aceitam quebra de linha.

O que você pode tentar é usar newline ou "\n"

 

Mas acredito que não vá funcionar... pois a algum tempo tentei a mesma coisa e descobri essa falha nos componentes =/

 

Seria melhor por exemplo você criar o seu proprio acordeon ai você poderia permitir esse tipo de diferença.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.