رفتن به مطلب
  • 0

تغییر فونت با دستور String بدون فایل txt یا دیتابیس


hakan22

سوال

سلام خدمت دوستان .
با استفاده از کتابخانه زیر خیلی راحت میشه سایز رو تغییر داد. برای تغییر فونت چگونه باید عمل کنم؟
http://answercenter.ir/topic/9955-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%A7%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%D8%A7%D8%B3%D8%AA%D8%A7%D9%86%D8%AF%D8%A7%D8%B1%D8%AF-%D8%AE%D9%88%D8%AF-%D8%A7%D9%86%D8%AF%D8%B1%D9%88/

.خودم دو سه تاروش رفتم ولی اشتباه بود .
از این دو کد برای اعمال تغییرات تو اکتیویتی ها استفاده میکنم

Sub Process_Globals
    Dim size1 As Int
End Sub

Sub Activity_Create(FirstTime As Boolean)
	setChanges
End Sub

Sub Activity_Resume
     setChanges
End Sub

Sub setChanges
  Dim laelSize As Int = ASP.GetInt("size",14)
  btn1.TextSize = laelSize
  btn2.TextSize = laelSize
  btn3.TextSize = laelSize
  btn4.TextSize = laelSize
  btn5.TextSize = laelSize
End Sub

کدهایی که تو قسمت تنظیمات استفاده میکنم

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: False
#End Region

Sub Process_Globals
Dim font1 As String
Dim size1 As Int
End Sub

Sub Globals
    Dim font As String
    Dim color As String
    Dim size As Int
    Dim ASP As AriaSharedPreferences
	Private Label1 As Label
	Private RadioButton1 As RadioButton
	Private RadioButton2 As RadioButton
	Private RadioButton3 As RadioButton
	Private Label2 As Label
	Private SeekBar1 As SeekBar
	Private Label3 As Label
	Private btn_save As Button
	Private Label_fasele1 As Label
	Private Label_fasele2 As Label
	Private Label4 As Label
	Private Label5 As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("setting")
	
If size<14 Then
Label4.Text=14
SeekBar1.Value=14
End If
RadioButton1.Typeface=Typeface.LoadFromAssets("rezvan.ttf")
RadioButton2.Typeface=Typeface.LoadFromAssets("byekan.ttf")
RadioButton3.Typeface=Typeface.LoadFromAssets("bnazanin.ttf")
setChanges
End Sub

Sub Activity_Resume
setChanges
End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub Activity_KeyUp (KeyCode As Int) As Boolean
If KeyCode = KeyCodes.KEYCODE_BACK Then

StartActivity(Main)

End If	

End Sub

	


Sub RadioButton1_CheckedChange(Checked As Boolean)
	If RadioButton1.Checked=True Then
	font="yekan"
	Label5.Typeface=Typeface.LoadFromAssets("rezvan.ttf")
	End If
	
End Sub

Sub RadioButton2_CheckedChange(Checked As Boolean)
	If RadioButton2.Checked=True Then
	font="byekan"
	Label5.Typeface=Typeface.LoadFromAssets("byekan.ttf")
	End If

End Sub

Sub RadioButton3_CheckedChange(Checked As Boolean)
	If RadioButton3.Checked=True Then
	font="bnazanin"
	Label5.Typeface=Typeface.LoadFromAssets("bnazanin.ttf")
	End If

End Sub

Sub btn_save_Click
If font="" Then
ToastMessageShow("لطفا متن مورد نظر خود را انتخاب کنید",False)

Else If size<14 Then	
ToastMessageShow("لطفا اندازه متن را انتخاب کنید",False)	
Else
font1=font
size1=size
ToastMessageShow("تنظیمات انجام شد",False)
StartActivity("Main")
ASP.SaveInt("size", size1)
ASP.SaveString("font","font1")
End If	

End Sub


Sub SeekBar1_ValueChanged (Value As Int, UserChanged As Boolean)
	SeekBar1.Value=Value
	size=Value
	Label4.Text=Value
	Label5.TextSize=Value
End Sub

Sub setChanges
  Dim laelSize As Int = ASP.GetInt("size",14)
  btn_save.TextSize = laelSize
  Label1.TextSize = laelSize
  Label2.TextSize = laelSize
  Label3.TextSize = laelSize
End Sub

ولی فراخوانی فونت رو بلد نیستم .ممنون میشم دوستان کمک کنن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

8 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

والا من که نفهمیدم میخوای چیکار کنی ولی برای تغییر در فونت باید از typeface استفاده کنی

	Dim Mytypeface As Typeface = Typeface.LoadFromAssets("Fontname.ttf")
	lbl.Typeface = Mytypeface
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

والا من که نفهمیدم میخوای چیکار کنی ولی برای تغییر در فونت باید از typeface استفاده کنی

	Dim Mytypeface As Typeface = Typeface.LoadFromAssets("Fontname.ttf")
	lbl.Typeface = Mytypeface

مرررررسی

.

میخوام تو بخش تنظیمات یک فونت رو ذخیره کنم .بعد با دستور getsting بگیرمش و فراخوانیش کنم ولی متاسفانه بلد نیستم .

یعنی مثلا وقتی رو این فونت نمونه است (اولی )کلیک میکنم و ذخیره میکنم. برم تو یک اکتیویتی دیگه فراخوانیش کنم دستور ذخیره شده را

 

com.tahael.naviddec_f6d2a062-b976-4b3a-8

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

اگه بخواید با string این کارو بکنید بعد از خارج شدن از اکتیویتی فونت فونت قبلی میشه و کاربر بدش میاد اینجوری

Sub RadioButton3_CheckedChange(Checked As Boolean)
	If RadioButton3.Checked=True Then
	font="bnazanin"
	Label5.Typeface=Typeface.LoadFromAssets("bnazanin.ttf")
'+
File.WriteString(File.DirInternal,"font1.txt","bnazanin.ttf")

	End If

و جایی که میخوای لیبلت اون فونتو بگیره این کدو مینویسی:

Dim fontstr As String
fontstr=File.ReadString(File.DirInternal,"font1.txt")
label.typeface=Typeface.LoadFromAssets(fontstr)

موفق باشی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

اگه بخواید با string این کارو بکنید بعد از خارج شدن از اکتیویتی فونت فونت قبلی میشه و کاربر بدش میاد اینجوری

Sub RadioButton3_CheckedChange(Checked As Boolean)
	If RadioButton3.Checked=True Then
	font="bnazanin"
	Label5.Typeface=Typeface.LoadFromAssets("bnazanin.ttf")
'+
File.WriteString(File.DirInternal,"font1.txt","bnazanin.ttf")

	End If

و جایی که میخوای لیبلت اون فونتو بگیره این کدو مینویسی:

Dim fontstr As String
fontstr=File.ReadString(File.DirInternal,"font1.txt")
label.typeface=Typeface.LoadFromAssets(fontstr)

موفق باشی

 

 

خیلی ممنونم ازتون .

فقط یک مشکلی دارم.

وقتی برای اولین بار شخصی وارد نرم افزار میشه .

فونت پیشفرض چگونه براش تعریف کنم؟

درون فایل font1.txt باید تعریف کنم؟

چگونه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

 

خوب برای اینکه پیش فرض داشته باشی کافیه در پنجره دیزاینر بالای Script - General

سه تا تب داری روی Files کیلیک کن بعد فایل فونت پیشفرضتو اضافه کن حالا دوباره به View Tree  برو وقتی روی Type Face کلیک میکنی فونت به صورت اتوماتیک اضافه شده

میتونی فونت پیشفرضتو اینطوری به همه ویو ها اعمال کنی

 

ولی برای تغییر و اعمال کردن تغییر حتما از دیتابیس استفاده کن حتی اگه شده برنامتو نیمه تموم بذاری بذار و کار با دیتابیس رو یاد بگیر

 

موفق باشی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

 

خوب برای اینکه پیش فرض داشته باشی کافیه در پنجره دیزاینر بالای Script - General

سه تا تب داری روی Files کیلیک کن بعد فایل فونت پیشفرضتو اضافه کن حالا دوباره به View Tree  برو وقتی روی Type Face کلیک میکنی فونت به صورت اتوماتیک اضافه شده

میتونی فونت پیشفرضتو اینطوری به همه ویو ها اعمال کنی

 

ولی برای تغییر و اعمال کردن تغییر حتما از دیتابیس استفاده کن حتی اگه شده برنامتو نیمه تموم بذاری بذار و کار با دیتابیس رو یاد بگیر

 

موفق باشی

 

خیلی ممنونم ازت.

اره کار با پایگاه داده رو باید یاد بگیرم.

راستش چون کار نکردم زیاد یک ترسی دارم ازش.

باید کم کم برم سمت پیاگاه داده .چون نرم افزار بعدی باید با پایگاه داده کار کنم(البته دوتا نرم افزار بعدی)

یک سوال دیگه هم دارم .البته بخشید خیلی شد سوسالام.

وقتی نرم افزار رو کامپیال میکنم خطا میده که فایل font1.txt وجود نداره.بعد میگه همچنان ادامه میدهید میزنم رو yes و میرم تنظیمات یک بار فونت انتخاب میکنم ذخیره میکنم درست میشه.

البته این فایل رو ساختم و اضافه کردم .نمیدونم چرا این ایراد رو میگیره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

.فایل خالی رو در DirAssets بذار  اول برنامه چک کن اگه فایل نبود بعد کپی کن به حافظه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...