خانه » ادوبی فلش » اعمال یک StyleSheet خارجی به فیلد متنی

اعمال یک StyleSheet خارجی به فیلد متنی

اعمال یک StyleSheet خارجی به فیلد متنی

در این مطلب به روش بارگزاری یک فایل قالب بندی CSS و اعمال آن به یک فیلد متنی (Text Fild) می پردازیم ، فایل Css ما خارج از پروژه می باشد (External) ما بعد از بارگزاری آن و آماده سازی ،آن را به باکس متنی خود اعمال می کنیم. این روش برای محتوای HTML بارگزاری شده در تکست فیلد های کاربرد زیادی دارد و می توانید توسط این روش بعد از اتمام پروژه بدون تغییر در فایل فلش تغییرات مورد نیاز خود را روی متون و قالب بندی آنها سایز ، رنگ و دیگر خصوصیات که توسط CSS قابل تنظیم هست ،به روز رسانی کنید.

ابتدا ما فایل ساده ای را به عنوان فایل CSS خود ایجاد می کنیم می توانید این فایل را توسط هر ویرایشگر متنی ایجاد نمایید ، نام فایل را  content.css قرار می دهیم. فایل را در کنار فایل فلش خود قرار دهید.

p {

font-size: 40px;
color: #ff0000;

}

حال در برنامه فلش پروژه ای جدید ایجاد می کنیم و کلاس های مورد نیاز را در بخش اکشن وارد می کنیم

import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.StyleSheet;
import flash.events.Event;

حال توسط کدهای زیر فایل را بارگزاری می کنیم تا بتوانیم آن را در مراحل بعد استفاده کنیم

//css تعریف بارگزارنده فایل قالب بندی
var cssLoader:URLLoader = new URLLoader();

//مشخص کردن آدرس و نام فایل خارجی
var cssRequest:URLRequest = new URLRequest("content.css");

//فراخوانی متد مربوطه به بارگزاری فایل تعیین شده
cssLoader.load(cssRequest);

//تعریف رویداد برای زمان کامل شدن بارگزاری
cssLoader.addEventListener(Event.COMPLETE, cssLoadComplete);

در مرحله بعد یک نمونه از کلاس StyleSheet را برای دریافت و آماده سازی محتوای قالب بندی تعریف می کنیم و سپس تابع  cssLoadComplete را برای کنترل کردن رویداد کامل شدن بارگزاری تعریف می کنیم


//StyleSheet تعریف کلاس
var sheet:StyleSheet = new StyleSheet();

//تعریف تابعی برای زمان کامل شدن بارگزاری
function cssLoadComplete(event:Event):void
{

	// چاپ محتوای بارگزاری شده برای تست
	//trace(cssLoader.data);

	//افزودن محتوای بارگزاری شده به کلاس استایل شیت و تبدیل محتوای متنی برای پردازش قالب بندی
	sheet.parseCSS(cssLoader.data);

	// حال می توانیم استایل شیت آماده شده را به تکست فیلد خود اعمال کنیم
	// مربوطه به تکست فیلد مربوطه استفاده می کنیم styleSheetبرای این کار از متد
	textBox.styleSheet = sheet;

	//

	//برای مثال
	textBox.text = "<p>test css iflashlord</p>";

}

همان طور که در کد تابع  مشاهده می کنید بعد از بارگزاری کامل محتوای بارگزاری شده که توسط cssLoader.data قابل دریافت هست را توسط متد parseCSS به sheet تعریف شده اعمال می کنیم ،و در مرحله بعد sheet را به خصوصیت styleSheet تکست فیلدمان (در این مثال textBox) اختصاص می دهیم.

حال می توانیم محتوای خود را به تکست فیلد اعمال کنیم و یا محتوای خارجی External خود را بارگزاری کرده و به تکست فیلد اعمال کنیم.

در این حالت محتوای تکست فیلد از قالب بندی تعریف شده استفاده می کند برای مثال متن نمونه به صورت قرمز و سایز ۴۰  نمایش داده خواهد شد.

توجه داشته باشد که خصوصیت html مربوطه تکست فیلد برای آنلالیز محتوای HTML می بایست فعال شده باشد.

Print Friendly
تگ ها :
پیوند مطلب قبلی
پیوند مطلب بعدی

درباره بهروز پولادرگ

متولد : ۵ مرداد سال ۱۳۶۷ ، حرفه : ادوبی فلش ، برنامه نویسی و طراحی وب ، طراحی گرافیک ، مالتی مدیا ، نرم افزار های تحت وب

ارسال جواب

آدرس رایانامه شما منتشر نخواهد شد.فیلد های اجباری علامت گزاری شده اند *

*

رفتن به بالای صفحه