اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

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


محمدرضا شاهپیری

کتابخانه PersianRecyclerView ***(نسخه جدید)***

56 ارسال در این موضوع قرار دارد

***قابل توجه دوستان عزیز.*** تو نسخه 2.5 متدهای کلیک برای ریسایکلر تغییر کرده اند و یه آرگومان به تابعها اضافه شده. تو این نسخه شما میتونید ویوی کلیک شده رو به صورت آبجکت داشته باشید و به راحتی میتونید اونو مدیریت کنید. توجه مثال زیر

برای xml

Sub pr_OnItemClick(contentTag As Object,viewclicked As Object,position As Int)
		Dim oi As PRViewUtils
		oi.init(viewclicked)
	oi.setTextForTextview("songnamtxt","cliked")
End Sub

برای بیسیک

Private Sub pr_OnItemClick(ItemTag As Object,viewclicked As Object,position As Int)
	Dim st As String=ItemTag
	If "bt2".EqualsIgnoreCase(st) Then
		Dim bt As Button=viewclicked
		bt.Color=Colors.Red
	End If
End Sub

با سلام خدمت دوستان عزیز و همراهان همیشگی انجمن انسر سنتر:give_heart:

بالاخره بعد از ماهها تلاش بی وقفه چیزی که قولش رو داده بودم آماده شد.:gamer2::gamer:

یه نسخه کاملا متفاوت و جدید از کتابخونه بسیار کاربردی PersianRecyclerview. خیلی از دوستان با نسخه قبلی کتابخونه یه سری مشکلات داشتن. و خودم هم اعتقادم بر این بود که کار کردن باهاش یه کم پیچیده بود. 

خدا رو شکر توی نسخه حاظر تا جایی که امکان داشته کتابخونه رو ساده کردم و با چند خط کد به راحتی میتونید کتابخونه رو آماده و استفاده کنید.

زحمت زیادی کشیده شده و امکانات بسیار زیاد و جذابی به کتابخونه اضافه شده که مطمئنا براتون جالب و حتی کاربردی خواهد بود.

دوستانی که نسخه قبلی کتابخونه رو دریافت کردن میتونن از طریق پنل کتابخونه جدید و سورس رو دریافت کنن. و همچنین آموزش مقدماتی کار با کتابخونه رو از لینک زیر میتونن دریافت کنن. به زودی آموزشها قسمتها ی مختلف و امکانات جذاب کتابخونه توی همین تاپیک اضافه میشه. 

امیدوارم قدمی کوچک در راه توسعه نرم افزارهای ایرانی برداشته باشم :girl_angel:. دوستان طبق معمول مارو از انتقادات و پیشنهادات سازنده خودتون بهره مند سازید.:give_rose:

امیدوارم مورد استفاده قرار بگیره.

لینک فروشگاه

 

***********************************************************************************آموزشهای مربوط به کتابخانه****************************************

1-: قسمت اول آموزش مقدماتی کار با کتابخونه

2-: قسمت دوم آموزش(کار با لیوت منیجرهای کتابخانه قسمت 1)

3-: قسمت سوم(کار با لیوت منیجرهای کتابخانه قسمت 2)

4-: قسمت چهارم (کار با لیوت منیجر ها 3 (swipelayout))

5:- قسمت پنجم(کار با لیوت منیجرها 4( steakyheader))

6:-قسمت ششم(کار با لیوت منیجرها 5 (ویوپیجر لیوت منیجر))

7:-قسمت هفتم(کار با انواع ریسایکلر ویوها شامل DiscreteScrollView , IndexRecyclervie , fastscrollrecycler )

8:- قسمت هشتم (آموزش کار با treeview ویوی درختی)

9:- قسمت نهم(آموزش کار با گراف ویو (graphview))

10:- قسمت دهم (آموزش دریافت و نمایش اطلاعات دیتابیس آنلاین و آفلاین در ریسایکلر ویو)

 

********************************************************پیش نمایش آموزشها**********************************************

قسمت های دوم و سوم و چهارم  پنجم و ششم مباحث زیر آموزش داده میشه.

1- CardLayout 

ezgif.com-optimize (1).gif

2- FanLayout

ezgif.com-resize.gif

3-CarouselLayoutManager

ezgif.com-optimize (2).gif

 

4-FlexboxLayoutManager

flex-direction.gif

 

5- LadderLayout

ladder.gif

 

6- PickerLayout

picker_demo.gif

7- StackLayout

 

stacklayout.gif

8- TurnLayout

turn_demo.gif

 

9-VegaLayout

vegalay.gif

 

10-  سوایپ لیوت (swipelayout)

swip.gif

 

11- SteackyHeader

ezgif.com-optimize.gif

 

12- ویوپیجر

customize.gif

 

قسمت هفتم مباحث زیر آموزش داده میشه.

1:- DiscreteScrollView

discreet.gif

2:- FastScrollRecycler

fastscrool.gif

3:- IndexRecycler

index.gif

 

قسمت هشتم مبحث treeview یا همون ویوی درختی آموزش داده میشه. پیشنمایش زیر

treeview

ezgif.com-gif-maker.gif

 

قسمت نهم graphview

Tree.png

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 10 دقیقه قبل، reza1360 گفته است :

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

لینک دانلود مگه جایی میاد عزیز؟ شما اگه خرید کردین باید برید تو قسمت مدیریت خرید و از اونجا محصولات خریداری شده رو دانلود کنید

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


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

عزیز میشه بگید قسمت مدیریت خرید کجاست من تازه عضو انجمن شدم

آهان دیدم ممنون

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


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

سلام

آیا این کتابخونه در اندروید 4 و یا اندروید 3 هم قابل استفاده است یا فقط برای 5 به بالا کاربرد داره؟ با تشکر

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 18 ساعت قبل، mykimia گفته است :

سلام

آیا این کتابخونه در اندروید 4 و یا اندروید 3 هم قابل استفاده است یا فقط برای 5 به بالا کاربرد داره؟ با تشکر

اندروید 2 و 3 که دیگه تقریبا منسوخ شده عزیز. کتابخونه برای اندروید 4 به بالا مشکلی نداره و تست شده. البته برای 2 و 3 هم بعید میدونم موردی داشته باشه.

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


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

سلام خدمت آقای شاهپیری عزیز 

واقعا دست مریزاد.ممنون، خیلی کار باهاش راحت وساده شده وپیچیدگی سابق رو نداره .

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

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

 

آدرس سایت :

Android Button Maker

 

 این سایت دارای قابلیت های زیر می باشد:

تعیین اندازه ویو ها

تعیین پس زمینه رنگ ویو ها حتی  سه رنگی با تعیین محل نور پردازی وتنظیم مقدار محیطی رنگ 

تعیین رنگ متن داخل ویو 

سایه گذاری برای متن داخل ویو وتعیین محل سایه و تعیین درصد پراکندگی وتراکم سایه 

تعیین محل قرارگیری متن درداخل ویو 

تعیین مقدار خمیدگی زاویه های اطراف ویو ها 

قرار دادن کار حاشیه ویو وتنظیم ضخامت آن و تعیین رنگ آن 

 

* نکته: این سایت دو بخش مخصوص خروجی کد Xml دارد که دقت شود :کدهای داخل بخش Button را در داخل فایل Xml دلخواه  در پوشه layout قرار بدهید 

و کدهای خروجی موجود در بخش buttonshape را در داخل فایل xml دلخواه (مثلا :litem.xml) در پوشه drawable که در پوشه res باید خودتان بسازیدش، قرار بدین .البته اسم این فایل xml رو هرچی بگذارید

باید بیایید وداخل فایل (litem.xml) در سطری که نوشته (android:background="@drawable/buttonshape")  بجای buttonshape ،اسم اون فایل رو  جایگذاری نمایید .

به همین راحتی! 

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

 

Untitled.png.f58fa42bd181fa78d0b2dc9bb3d6f4a3.png

 

کدهای بیسیک فور برای این مثال :

Sub pr_onBindViewHolder(layoutitem As Object,position As Int,viewtype As Int)
	Dim prutil As PRViewUtils
	prutil.init(layoutitem)
	prutil.setTextColorForTextview("txt",Colors.Green)
	prutil.setTextForTextview("txt","متن  :    "&position&"  ")
	
	
	Dim button_shape_left_buttom As PRViewUtils
	button_shape_left_buttom.init(layoutitem)
	button_shape_left_buttom.setTextColorForTextview("button_shape_left_buttom",Colors.Red)
	button_shape_left_buttom.setTextForTextview("button_shape_left_buttom",  "چ  پایین"&position)
	
	Dim button_shape_left_top As PRViewUtils
	button_shape_left_top.init(layoutitem)
	button_shape_left_top.setTextColorForTextview("button_shape_left_top",Colors.Red)
	button_shape_left_top.setTextForTextview("button_shape_left_top",        "چ   بالا"&position)
	
	Dim button_shape_right_buttom As PRViewUtils
	button_shape_right_buttom.init(layoutitem)
	button_shape_right_buttom.setTextColorForTextview("button_shape_right_buttom",Colors.Red)
	button_shape_right_buttom.setTextForTextview("button_shape_right_buttom","ر پایین"&position)
	    
	Dim button_shape_right_top As PRViewUtils
	button_shape_right_top.init(layoutitem)
	button_shape_right_top.setTextColorForTextview("button_shape_right_top",Colors.Red)
	button_shape_right_top.setTextForTextview("button_shape_right_top",      "ر  بالا"&position)
	
End Sub

 

=> ( لینک پوشه res مخصوص این نمونه )

 

آدرس سایت های مشابه برای این منظور:

Android Drawble Generator

Online XML Shapes Generator for Android

Android Button Maker

 

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

Android Visualizer

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


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

سلام

آیتم تگ را کجا باید بدیم که در OnItemClick بتونیم بگیریمش؟

 

Sub pr_OnItemClick(ItemTag As Object,position As Int)
    
 ItemTag رو اینجا نمیاره. کجا باید مقدار بدم که اینجا قابل دسترسی بشه؟
    
End Sub

 

و اینکه آیا به هر یک از آبجکت ها میشه در onBindViewHolder تگ بدیم که در OnItemClick قابل دسترسی باشه و چجوری؟

تشکر

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 9 ساعت قبل، mykimia گفته است :

 

برای لیوت xml باید مقدار زیر رو به ویو اضافه کنید توی xml  

 android:tag="mytag"

,و برای لیوت بیسیک هم که مشخصه مثلا برای button به صورت  زیر هست دیگه

button1.Tag="mytag"

 

در 9 ساعت قبل، mykimia گفته است :

و اینکه آیا به هر یک از آبجکت ها میشه در onBindViewHolder تگ بدیم که در OnItemClick قابل دسترسی باشه و چجوری؟

بله عزیز دقیقا باید توی متد onBindViewHolder شما ویوهاتون رو مقدار دهی کنید. تو آموزشها هست آموزشها رو چندین و چند بار ببینید تا کتابخونه براتون جابیفته.

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 3 ساعت قبل، محمدرضا شاهپیری گفته است :

برای لیوت xml باید مقدار زیر رو به ویو اضافه کنید توی xml  


 android:tag="mytag"

,و برای لیوت بیسیک هم که مشخصه مثلا برای button به صورت  زیر هست دیگه


button1.Tag="mytag"

 

مقدار دهی مشخصه عزیز. اینجا مشکلی نیست. اما در گرفتن مقادیر مشکل دارم در متد OnItemClick. 

چطوری تو متد OnItemClick میشه مقادیری که به تگها دادیم رو بگیریم؟

این مورد تو آموزش ها نبود.

تشکر

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 4 ساعت قبل، mykimia گفته است :

مقدار دهی مشخصه عزیز. اینجا مشکلی نیست. اما در گرفتن مقادیر مشکل دارم در متد OnItemClick. 

چطوری تو متد OnItemClick میشه مقادیری که به تگها دادیم رو بگیریم؟

این مورد تو آموزش ها نبود.

تشکر

خب کدش رو آقای شاهپیری داخل سورس هم گذاشته اند همین کدهای  زیر رو بگذارید ، برای همه آیتمها یکجا وبطور جداگانه موقع کلیک کردن لاگ مختص آیتم ها رو با شماره position نمایش خواهد داد.

 


Sub pr_OnItemClick(ItemTag As Object,position As Int)
	Log((ItemTag&position))
End Sub

 

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 12 ساعت قبل، نورنما گفته است :

خب کدش رو آقای شاهپیری داخل سورس هم گذاشته اند همین کدهای  زیر رو بگذارید ، برای همه آیتمها یکجا وبطور جداگانه موقع کلیک کردن لاگ مختص آیتم ها رو با شماره position نمایش خواهد داد.

 



Sub pr_OnItemClick(ItemTag As Object,position As Int)
	Log((ItemTag&position))
End Sub

 

این کد منه:

Sub Activity_Create(FirstTime As Boolean)

PR.Builder("PR").NormalRecycler.BALayout.ListView.RecyclerView.Build
                       
        Activity.AddView(PR, 0, 0, 100%x, 100%y)

end sub

Sub PR_onCreateViewHolder(layoutitem As Object,viewtype As Int) As Object
        
    Dim LIPanel As Panel = layoutitem
    
    ImgItem.Initialize("ImgItem")
    LIPanel.AddView(ImgItem, 0, 0, 100%x, 10%y)
    ImgItem.Bitmap = MyBitmap
    '        
    Return LIPanel
    
End Sub

Sub PR_onBindViewHolder(layoutitem As Object,position As Int,viewtype As Int)
    
    Dim LIPanel As Panel = layoutitem
    LIPanel.Width = 100%x
    LIPanel.Height = 10%y
    '
    ImgItem = LIPanel.GetView(0)
    ImgItem.tag = "test"
    '
    LIPanel.tag = "test2"
    
    
End Sub

Sub PR_OnItemClick(ItemTag As Object,position As Int)
    
    Log(ItemTag & position)

End Sub


آیتم ها به درستی لود میشه اما متد  OnItemClick فقط پوزیشن رو درست برمیگردونه؛  اما ItemTag رو Null میده!! کجای کدم اشتباست؟!

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


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

سلام

من برای لیست از این روش استفاده کردم:

PR.Builder("PR").NormalRecycler.BALayout.ListView.RecyclerView.Build

برای وارد کردن آیتم جدید هم از این کد استفاده کردم:

PR.notifyItemInserted(index)

همه چیز به درستی و خیلی عالی کار میکنه. فقط یه ایراد که روی اعصابم داره میره اینه که هربار که آیتم جدید وارد میکنم، لیست میره روی پوزیشن صفر (یعنی برمیگرده روی اولین آیتم) از scrollToPosition هم استفاده کردم اما بازم جالب نیست. یعنی یه پرش داره به اول لیست و بعدش میاد روی پوزیشن مورد نظر من.

در حالی که میخوام وقتی مثلا ده تا آیتم جدید به آخر یا اول لیست اضافه میکنم لیست روی پوزیشن قبل بمونه و هیییی نپره روی اولین آیتم. یعنی مث لیست تلگرام یا واتس آپ که وقتی پیام های جدید به آخر اضافه میشن موقعیت پوزیشن پرش نداره. لطفا راهنمایی کنید.

تشکر

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


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

از دستور notifyitemadded استفاده کنید.

یه سورس نوشتم براتون رو آیتما کلیک کنید همونجا اضافه میشه بدون هیچ مشکلی         introrecycler.zip

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


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

آیا این لست ویو راهی داره که موقع اسکرول شدن، رسیدن اسکرول به اول و آخر لیست رو بتونیم متوجه بشیم؟

PR.Builder("PR").NormalRecycler.BALayout.ListView.RecyclerView.Build

چونکه متد onRecyclerScroll ظاهرا تو این مدل لیست کار نمیکنه!

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


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

کار میکنه عزیز. باید متد withScrollListener  رو صدا بزنید تا اون متد فعال شه. به صورت زیر.

pr.Builder("pr").NormalRecycler.BALayout.ListView.RecyclerView.withScrollListener.Build

 

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


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

سلام من از یک ViewPager استفاده می کنم و دو تا ریسایکلر که هر کدوم در یک لی اوت مجزا هستند را در یک اکتیویتی استفاده کردم اما فقط یکی از ریسایکلر ها جواب میده و در هر دو تب نمایش داده میشه. تو نسخه قبلی با آداپترها میشد دوتارو مدیریت کرد و هرکدام را در تب خودش نمایش داد. چطور میتونم دوتا ریساکلر را مدیریت کنم در یک اکتیویتی؟

 

یه خواهش دیگه: چطور میتونم خاصیت افکت کلیک شدن روی لیست ویوو را ایجاد کنم؟ با کتابخونه RippleEffect تست کردم موقع کلیک کردن ارور میده و از برنامه خارج میشه.

ممنون

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


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

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری