رفتن به مطلب

آموزش ساخت اسلایدر سفارشی


omid-j

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

سلام دوستان

میخوام یک آموزش یاد بدم که خود یاد گرفتم و خیلی هم زیبا و مورد نیاز بعضی از دوستان هستش

تو این آموزش یاد میگیریم که اسلایدر سفارشی بسازیم مصل فایل پایین (توجه کنید)

v8vw_pagerbullet.gif

اول کتابخونه PagerBullet رو که زیر  پیوست کردم دریافت کنید.

PagerBullet v2

ابتدا دو متغیر تعریف میکنیم

Dim slide1 As PagerBulletAdapter
Dim PB As PagerBullet

متغیر خط اول برای تنظیمات پنل داخل اسلایدر هستش که میتونیم تنظیمات هر صفحه رو انجام بدیم(اگه نفهمیدید در ادامه میفهمید :دی)

متغیر خط دوم هم برای کل اسلایدر هستش که شامل افکت و رنگ نقطه های اسلایدر میشه

 

در مرحله اول PBA رو اینیشیالایز میکنیم

 

Slied1.Initialize

خب حالا باید  چیز هایی که می خوایم تو صفحه لود بشه (البته همه چی میشه لود کنیم از عکس گرقته تا باتن و....)

خب من مثل GIF که بالا گذاشتم  یه عکس میزارم و روی عکس یک لیبل لود میکنم و آن وقت اونو میزارم تو یه حلقه FOR  که چند تا اسلاید رو همزمان برای ما لودکنه

شما اگه میخواید هر اسلاید طراحی منحصر به فرد داشته باشید یکی کی  طراحی نماید.

برای کد نویسی و طراحی دو حالت داریم برای طراحی اسلایدمی تونیم طراحی کنیم

1- میتونیم پنل اد کنیم تو اسلایدی یک لایوت طراحی کنیم و توش لود کنیم (راحته دیگه خودتون بلدید)

2- ویو ها رو بصورت کد دستی اد کنیم (من این کار و کردم چون  هم با کلاس تره هم خیلیا بلد نیستن یاد میگیرن )

For i = 1 To 4
	Dim pnl As Panel
	Dim lbl As Label
	pnl.Initialize("")
	lbl.Initialize("")
	pnl.SetBackgroundImage(LoadBitmap(File.DirAssets,i&".jpg"))
	lbl.Typeface = Font
	lbl.Text = " " & "این متن تست است."
	lbl.TextColor = Colors.White
	lbl.TextSize = 16
	lbl.Color = Colors.ARGB(155,0,0,0)
	lbl.Gravity = Gravity.CENTER_VERTICAL
	pnl.AddView(lbl,0,22%y,100%x,100%y)
	lbl.Height = su.MeasureMultilineTextHeight(lbl,lbl.Text) + 1%y
	lbl.RemoveView
	pnl.AddView(lbl,0,35%y - lbl.Height,100%x,lbl.Height + 1%y)
	PBA.AddPage(pnl)
	Next

خب خط اول که حلقه فورهستش

خط دوم و سوم یک پنل و یک لیبل معرفی کردم

خط چهار و پنج هم لیبل و پنل رو اینشیلایز کردم

خط ششم هم پس زمینه برای پنل انتخاب کردیم که اسم عکس اسلاید اول 1 هست و.. تا 4

خط هفتم فونت لیبل ، هشتم متن لیبل و نهم رنگ متن رو تعیین کردم

خط دهم سایز متن لیبل رو مشخص کردم

خط یازدهم یک رنگ پس زمینه برای لیبل انتخاب کردم که بر حسب ARGB انتخاب کردم

خب RGB رو که همه بلدن چی هست تو فتوشاپ هم کار کردن A هم آلفای رنگ پس زمینه هستش که شفافش کردیم و اگه میخواید هیچ شفافیتی نداشته باشه اون رو برابر 255 قرار بدید یا از Color.RGB(0,0,0) استفاده کنید.

خط دوازده تعیین کردم که متن ما  چجور قرار بگیره که CENTER_VERTICAL بشه منظورم  اینکه وسط قرار بگیره اما وسط از نوع عمودیش قرار بگیره

خط سیزده تا پانزدهم یک کار خوب انجام شد بصورت حرفه ایی و زیبا

میخواستم که متن کامل توی پنل جا بشه مثلا اگه متن طولانی شد رفت خط دوم ارتفاع لیبل زیاد بشه su هم متغییری از جنس StringUtils هست که با اون  میشه متن داد و ارتفاع گرفت اما چون تو کد addview ارور میده و جواب نمیده من یکبار ویو رو اد کردم بعد ارتفاعش رو گرفتم ریختم تو lbl.height بعد دوباره که اد کردم در خط 16 موقع اد کردن لیبل گفتم که تاپ لیبل که میشه بالاآن اول 35%y که ارتفاع اسلایدر ما هست،  باشه (در ادامه تعیین کردم) و به اندازه ارتفاع متن لیبل که قبلا گرفتم ازش کم کردم یعنی الان متن لیبل خیلی قشنگ جا میشه و هیچیش هم محو نمیشه

خط بعدی هم که به اسلاید اضافش کردم

(اگه درکش براتون سخت بود لایوت بسازید و با کد pnl.loadlayout اون رو تو پنل لود کنید.

خب بعد از حلقه فور میریم به اسلایدر مون  افکت بدیم اسلاید رو زیبا و بسیار حرفه ایی کنیم

PB.Initialize(slid1,"pb1")
	PB.setDotsColor(Colors.white,Colors.LightGray)
	PB.Transition = PB.DEFAULT

 

بالا هم اول اصل خود اسلایدر رو اینیشیالایز کردیم

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

خط بعدی هم افکت رفتن به اسلاید بعدی رو بهش دادیم که من حالت پیش فرض رو دادم حالت های زیبای زیادی دارد

حالا که اسلایدرمون اماده شد میایم و اون رو به اکتیویتی مون اد میکنیم

 

sc.Panel.AddView(PB,0,0,100%x,35%y)

  ارتفاع اسلاید که بالا گفتم اینجا تعیین کردم

 حالا اگه بخوام که خود به خود اسلاید عوض شه اول یه تایمر معرفی میکنم بعد تو تایمر تیک مینویسیم بره اسلاید بعدی با کد :

PB.GotoPage(2)

موفق و پیروز باشید.

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

اجرا نمیشه !

خطا میده .... 

main_activity_create (java line: 359)
java.lang.NoSuchMethodError: android.support.v4.view.ViewPager.addOnPageChangeListener	
at com.robohorse.pagerbullet.PagerBullet.init(PagerBullet.java:125)
.
.
.

 

 

 

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

بایگانی شده

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

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

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