Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.07.2012, 16:26
Чеширский Кот вне форума Посмотреть профиль Отправить личное сообщение для Чеширский Кот Найти все сообщения от Чеширский Кот
  № 1  
Ответить с цитированием
Чеширский Кот

Регистрация: Mar 2012
Сообщений: 40
По умолчанию spark Label текст в 2 строчки с разными размерами

Здравствуйте!

Есть Button. Есть скин у Button.

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
			 xmlns:s="library://ns.adobe.com/flex/spark"
			 xmlns:mx="library://ns.adobe.com/flex/mx"
			 xmlns:components="modules.editingTree.components.*"
			 minWidth="60" minHeight="20" alpha.disabled="0.5">
 
	<fx:Metadata>
		[HostComponent("spark.components.Button")]
	</fx:Metadata>
	<s:states>
		<s:State name="up"/>
		<s:State name="over"/>
		<s:State name="down"/>
		<s:State name="disabled"/>
	</s:states>
	<s:Rect width="100%" height="100%">
		<s:stroke>
			<s:SolidColorStroke color="0x000000" weight="2"/>
		</s:stroke>
		<s:fill>
			<s:SolidColor color="0xFFFFFF"/>
		</s:fill>
	</s:Rect>
	<s:Label id="labelDisplay" width="100%" height="100%" textAlign="center" verticalAlign="middle" fontFamily="Arial" fontSize="12" fontWeight="bold"/>
</s:SparkSkin>

Текст у кнопки задается,например, так "Имя\n(1912)"
Получаются две строчки.
Можно ли реализовать так, чтобы "Имя", например, имело 14 размер шрифта, а (1912) - 10?

Старый 04.07.2012, 18:04
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 2  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Попробуйте htmlText для Label
__________________
In Code We Trust

Старый 04.07.2012, 18:23
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 3  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
У spark.components.Label нет свойства htmlText, как и у его предков. Вместо Label можно добавить RichText.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 04.07.2012, 18:31
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 4  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Верно.
Теоретически можно и 2 Label с разными размерами шрифта в скине использовать.
__________________
In Code We Trust

Старый 04.07.2012, 18:33
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 5  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Можно и два Label. Все равно придется писать или свою кнопку или свою реализацию IDisplayText.

Добавлено через 32 секунды
P.S. Второе предпочтительнее.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 04.07.2012, 18:42
Чеширский Кот вне форума Посмотреть профиль Отправить личное сообщение для Чеширский Кот Найти все сообщения от Чеширский Кот
  № 6  
Ответить с цитированием
Чеширский Кот

Регистрация: Mar 2012
Сообщений: 40
А разве можно 2 Label использовать? Ведь текст приходит к элементу с id="labelDisplay".

Старый 04.07.2012, 18:46
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 7  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Если их добавить в контейнер с id "labelDisplay" реализующий IDisplayText, то хоть три. Этот контейнер и будет разруливать, какую часть строки засунуть в нужный Label (или преобразовывать строку для RichText).
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 04.07.2012, 19:19
Чеширский Кот вне форума Посмотреть профиль Отправить личное сообщение для Чеширский Кот Найти все сообщения от Чеширский Кот
  № 8  
Ответить с цитированием
Чеширский Кот

Регистрация: Mar 2012
Сообщений: 40
Код AS3:
<classes:RichTextForButton id="labelDisplay" width="100%" height="100%" textAlign="center" verticalAlign="middle">
			<s:Label id="row1" fontWeight="bold" fontSize="14" text="{labelDisplay.rowName}"/>
			<s:Label id="row2" fontWeight="bold" fontSize="10" text="{labelDisplay.rowDate}"/>
	</classes:RichTextForButton>
Код AS3:
package 
{
	import spark.components.RichText;
 
	public class RichTextForButton extends RichText
	{
		public function RichTextForButton()
		{
			super();
		}
 
		private var _rowName:String;
		[Bindable(event = "rowNameChanged")]
		public function get rowName():String
		{
			return _rowName;
		}
 
		private var _rowDate:String;
		[Bindable(event = "rowDateChanged")]
		public function get rowDate():String
		{
			return _rowDate;
		}
 
		override public function set text(value:String):void
		{
			if (value != "")
			{
				var a:Array = value.split("\n");
				_rowName = a[0];
				_rowDate = a[1];
			}
 
		}
	}
}
В какой момент ругается, что
"TypeError: Недопустимый элемент типа spark.components::Label передан в mxmlChildren"

Или надо было по другому как-то делать?

Старый 04.07.2012, 22:53
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 9  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Ну так, вы пытаетесь Label засунуть в RichText. Так не получится.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 05.07.2012, 12:48
Чеширский Кот вне форума Посмотреть профиль Отправить личное сообщение для Чеширский Кот Найти все сообщения от Чеширский Кот
  № 10  
Ответить с цитированием
Чеширский Кот

Регистрация: Mar 2012
Сообщений: 40
Внес коррективы, теперь все работает.

Код AS3:
package 
{
	import flash.events.Event;
 
	import spark.components.RichText;
 
	public class RichTextForButton extends RichText
	{
		public function RichTextForButton()
		{
			super();
		}
 
		private var _rowName:String;
		[Bindable(event = "rowNameChanged")]
		public function get rowName():String
		{
			return _rowName;
		}
 
		private var _rowDate:String;
		[Bindable(event = "rowDateChanged")]
		public function get rowDate():String
		{
			return _rowDate;
		}
 
		override public function set text(value:String):void
		{
			if (value != "")
			{
				var a:Array = value.split("\n");
				_rowName = a[0];
				_rowDate = a[1];
 
				dispatchEvent(new Event("rowNameChanged"));
				dispatchEvent(new Event("rowDateChanged"));
			}
		}
	}
}
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
			 xmlns:s="library://ns.adobe.com/flex/spark"
			 xmlns:mx="library://ns.adobe.com/flex/mx"
			 minWidth="60" minHeight="20" alpha.disabled="0.5" 
			 xmlns:classes="modules.editingTree.classes.*">
 
	<fx:Metadata>
		[HostComponent("spark.components.Button")]
	</fx:Metadata>
	<s:states>
		<s:State name="up"/>
		<s:State name="over"/>
		<s:State name="down"/>
		<s:State name="disabled"/>
	</s:states>
	<s:Rect width="100%" height="100%">
		<s:stroke>
			<s:SolidColorStroke color="0x000000" weight="2"/>
		</s:stroke>
		<s:fill>
			<s:SolidColor color="0xFFFFFF"/>
		</s:fill>
	</s:Rect>
 
	<classes:RichTextForButton id="labelDisplay" width="100%" height="100%" textAlign="center" verticalAlign="middle">
		<s:span fontWeight="bold" fontFamily="Arial" fontSize="12" text="{labelDisplay.rowName}"/>
		<s:br/>
		<s:span fontWeight="bold" fontFamily="Arial" fontSize="10" text="{labelDisplay.rowDate}"/>
	</classes:RichTextForButton>
</s:SparkSkin>
Спасибо за помощь.

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:51.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.