hitexroid

مدیر کل انجمن
  • تعداد ارسال ها

    204
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    67

تمامی ارسال های hitexroid

  1. میتونید قمری یا میلادی تاریخ هارو با کلیک بگیرید اما کل تقویم رو نمیتونید قمری کنید .
  2. https://github.com/omadahealth/SwipyRefreshLayout
  3. نحوه ی استفاده از Refresh برای ریسایکلر ویو (نسخه 6+) Sub Globals Dim LV As Hitex_LayoutView Dim RL As Hitex_RefreshLayout End Sub Sub Activity_Create(FirstTime As Boolean) LV.Initializer("LV").ListView.RefreshLayout.ReverseLayout.Build Activity.AddView(LV,0,0,100%x,100%y) RL.Initialize(LV, "RL") RL.Direction = RL.DIRECTION_TOP RL.SchemeColors = Array As Int (Colors.Red, Colors.Black, Colors.Blue) LV.Show End Sub Sub RL_onRefresh (Direction As Int) Select (Direction) Case RL.DIRECTION_TOP: Log("TOP") Case RL.DIRECTION_BOTTOM: Log("BOTTOM") End Select End Sub Sub LV_onCreateViewHolder (Parent As Panel, ViewType As Int) '# onCreate #' Dim lbl As Label: lbl.Initialize("lbl") lbl.TextColor = -2 : lbl.TextSize = 18 Parent.AddView(lbl,0,0,100%x,10%y) End Sub Sub LV_onBindViewHolder (Parent As Panel, Position As Int) '* onBind *' Dim lbl = Parent.GetView(0) As Label lbl.Text = "Hello World ! " & Position End Sub Sub LV_GetItemCount As Int '$ ItemCount $' Return 100 'ItemList.Size End Sub
  4. کتابخونه ی Recycler View برای اولین بار به صورت رسمی از سایت hitexroidgroup.ir منتشر شد قابلیت لود کردن ملیارد ها آیتم بدون کوچک ترین وقفه ! با قابلیت طراحی از طریق لیوت بیسیک و xml دارای دو حالت افقی و عمودی دارای دو حالت لیست و گرید دارای ریسایکلر ویو پیجر افقی و عمودی به همراه تب لیوت (با شخصی سازی بالا) دارای CardView و Expandable Layout دارای متریال رفرش لیوت دارای کتابخونه ی معروف Glide و Picasso دارای انیمیشن و 3 مدل Fast Scroll (افقی و عمودی همراه با بالون) دارای Header دارای تولبار اختصاصی مجهز به SearchView متریال دارای کتابخونه ی Paint شخصی سازی Divider مابین آیتم ها قابلیت تشخیص جهت اسکرول و اضافه کردن FloatingActionButton قابلیت ایجاد آیتم با ویو های دلخواه MultipleView بدون نیاز به ریسورس استفاده ی خیلی آسان به همراه 130 دقیقه فیلم آموزشی رایگان تماشای قسمت اول ↔ دانلود سورس مثال اول (معرفی کتابخونه و آمورش Recycler ListView) تماشای قسمت دوم ↔ دانلود سورس مثال دوم (آمورش Recycler Layout View) تماشای قسمت سوم ↔ دانلود سورس مثال سوم (آموزش کار با notify ها add - change - move - remove - datasetchanged) تماشای قسمت چهارم ↔ دانلود سورس مثال چهارم (آموزش استفاده از Picasso ، Glide و Parallax ImageView در ریسایکلر) تماشای قسمت پنجم ↔ دانلود سورس مثال پنجم (آمورش جستجو و استفاده از تولبار اخصاصی Hitex_SearchToolbar) تماشای قسمت ششم ↔ دانلود سورس مثال ششم (آمورش کار با Recycler View Pager و TabLayout) تماشای قسمت هفتم ↔ دانلود سورس مثال هفتم (ادامه ی آموزش ویوپیجر قسمت قبلی (ششم) + آموزش ExpandbleView) تماشای قسمت هشتم ↔ دانلود سورس مثال هشتم (آمورش کار با ViewType و ساختن ویو های متعدد و دلخواه به ریسایکلر) لینک خرید
  5. درسته باید پست جدید فروشگاه رو چک میکردید نه تاپیک های تاریخ گذشته ی انجمن رو ریسایکلر خودش رویداد کلیک داره ، توی پلاگین گذاشتن رویداد مجدد امکان پذیر نیست Sub LV_ItemClick (ClickedItem As Panel, Position As Int) '👆 ItemClick 👆' End Sub
  6. فقط برای حالت عمودی وجود دارند . راه دیگری نیست ، مگر اینکه در onBind پوزیشن آخر رو چک کنید .
  7. itemList.Clear itemList.Add(new Item) LV.notifyDataSetChanged
  8. از گذاشتن تاپیک تکراری خودداری کنید درغیر این صورت دسترسی ip شما به سایت (توسط سیستم) بسته خواهد شد .
  9. این نسخه برای آخرین نسخه ی ریسایکلر 7.20 ارائه شده و قبل از اون نبوده ! درگیر کارای سربازی هستم تاریخ 97/04/01 به بعد که کلا نیستم . این مثلا مشکل خنده دار رو باید توی Github مطرح کنید ، من سازنده نیستم فقط تبدیل میکنم https://github.com/leochuan/ViewPagerLayoutManager با کد زیر میتونید فقط روی آیتم وسط صفحه تمرکز کنید (برای زمانی که 3 آیتم قابل مشاهده هستند ، برای موارد دیگه باید تغییرات جزئی بدید) Sub LV_ItemClick (ClickedItem As Panel, Position As Int) '👆 ItemClick 👆' Dim CenterItemPosition = LV.GetVisibleItemPosition(True,True) As Int Dim Left = CenterItemPosition -1, Right = CenterItemPosition +1 As Int If Position <> Left And Position <> Right Then Log("Clicked At " & CenterItemPosition) End If End Sub
  10. سلام خدمت شما باید از Type و List استفاده کنید برای مثال : Sub Globals Dim LV As Hitex_LayoutView Type Model (Title As String, Checked As Boolean) Dim itemList As List End Sub Sub Activity_Create(FirstTime As Boolean) LV.Initializer("LV").ListView.Build Activity.AddView(LV,0,0,100%x,100%y) itemList.Initialize For i = 0 To 29 Dim item As Model item.Initialize item.Title = "Hello World ! " & i item.Checked = False itemList.Add(item) Next LV.Show End Sub Sub LV_onCreateViewHolder (Parent As Panel, ViewType As Int) '# onCreate #' Dim Switch As ACSwitch : Switch.Initialize("Switch") Switch.TextColor = Colors.Black : Switch.TextSize = 18 Parent.AddView(Switch,5%x,0,95%x,-2) End Sub Sub LV_onBindViewHolder (Parent As Panel, Position As Int) '* onBind *' Dim item = itemList.Get(Position) As Model Dim Switch = Parent.GetView(0) As ACSwitch Switch.Tag = Position Switch.Text = item.Title Switch.Checked = item.Checked If item.Checked Then Parent.Color = 0xFFc0ca33 Else Parent.Color = 0xFF9e9e9e End If End Sub Sub LV_GetItemCount As Int '$ ItemCount $' Return itemList.Size End Sub Sub Switch_CheckedChange(Checked As Boolean) Dim Switch = Sender As ACSwitch Dim Position = Switch.Tag As Int Dim item = itemList.Get(Position) As Model item.Checked = Checked Sleep(20) LV.notifyItemChanged(Position) End Sub
  11. سلام مجدد شما باید از کتابخونه ی مخصوص این کار استفاده کنید تقویم شمسی Hitex_PersianCalendarView ساختن دستی اون مهارت بسیار بالایی رو میطلبه
  12. خداروشکر خداوند به شما عقل داده و به من درستکاری ! چون اگه قرار بود سرتون رو کلاه بزارم آموزش های ویدئویی رو رایگان در اختیار عموم قرار نمیدادم شما میبایست ظرفیت کلیپ هارو بررسی و سپس اقدام به خرید عاقلانه میکردید . جدای از این ها ، هرگونه سوال یا مشکلی دارید باید تاپیک جداگانه ایجاد کنید.
  13. شما دو قسمت رو با دقت نگاه نکردید ، محاله رویداد کلیک به اون مهمی فراموش بشه درضمن این یک تاپیک عمومی هست ، شما نباید اینجا سوال در مورد نحوه ی عملکرد بنویسید بلکه باید یک تاپیک جدید با عنوان رویداد کلیک ایجاد کنید و سوالتون رو مطرح کنید زمانی که از رویداد زیر استفاده میکنید ; Sub LV_ItemClick (ClickedItem As Panel, Position As Int) '👆 ItemClick 👆' End Sub تمام فضای آیتم رو در بر میگیره اگه قصد دارید محیط کوچکتری رو به کلیک اختصاص بدید علاوه بر اینکه نباید از این رویداد استفاده کنید بلکه باید متد زیر رو هم قبل از LV.Show اجرا کنید LV.Clickable = False همچنین داخل onCreate یک پنل روی Parent اصلی به ابعاد دلخواه ایجاد میکنید Sub LV_onCreateViewHolder (Parent As Panel, ViewType As Int) '💎 onCreate 💎' Dim MyPanel As Panel MyPanel.Initialize("MyPanel") MyPanel.Color = Colors.Red Parent.AddView(MyPanel,10dip,10dip,95%x,53dip) End Sub حالا توی onBind همون پنل رو میگیریم بهش Tag میدیم Sub LV_onBindViewHolder (Parent As Panel, Position As Int) '💠 onBind 💠' Dim MyPanel = Parent.GetView(0) As Panel MyPanel.Tag = Position End Sub و حالا توی رویداد کلیک پنل جدیدمون هم خود پنل رو داریم هم موقعیتش رو ( حاشیه ها هم کلیک نمیشن) Sub MyPanel_Click Dim MyPanel = Sender As Panel Dim Position = MyPanel.Tag As Int Log("Clicked At " & Position) End Sub _______________________________________________________________________________________________________________________________________________________________________________ برای رویداد کلیک مابقی ویو های دلخواه مثل دکمه و لیبل و غیره هم ، از همین روش Tag و Sender استفاده میکنید اگه سوال یا مشکلی جدا از کلیک دارید ، فیلم هارو با دقت بیشتری ببینید یا توی انجمن بگردید ، غیر از این موارد بود تاپیک جدیدی ایجاد کنید . موفق باشید
  14. Sub Process_Globals Dim TAG_1 = "TAG_1", TAG_2 = "TAG_2" As Object End Sub Sub Globals Dim Volley As Hitex_VolleyX End Sub Sub Activity_Create(FirstTime As Boolean) Volley.Initialize("Volley") ' *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- First Request Dim Params As Map Params.Initialize Params.Put("Key1", "Value1") Params.Put("Key2", "Value2") StartRequest("http://yourFirstSite.com", Volley.POST, TAG_1, Params) ' *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- Second Request StartRequest("http://yourSecondSite.com", Volley.GET, TAG_2, Null) End Sub Sub StartRequest (Url As String, Method As Int, TAG As Object, Params As Map) Dim Request = Volley.StringRequest(Method,Url) As Hitex_Request If Params.IsInitialized Then Request.SetParams(Params) Request.SetTag(TAG) Volley.AddToRequestQueue(Request) End Sub Sub Volley_onResponse (Response As String) Dim Request = Sender As Hitex_Request Select Request.Tag Case TAG_1 : Log(TAG_1 & " - " & Response) Case TAG_2 : Log(TAG_2 & " - " & Response) End Select End Sub Sub Volley_onErrorResponse (Error As VolleyError) Log(Error) End Sub
  15. سلام ٬ تغییر سرعتش رو ان شاء الله توی نسخه ی بعد اضافه میکنیم در مورد ۲ کلیپ ٬ باید بگم که فقط همون دوتا در دسترس هستند ٬ و ۸ تای قبلی چون سینتکسشون تغییر کرده بود و دیگه روی نسخه ی جدید کاربردی نداشت حذف شدند CreateItems برای نسخه ی قدیمی بوده ٬ الان باید AddItem و Show کنید
  16. کلاس خود ریسایکلر هست ، نیازی به تهیه کتابخانه ی جداگانه نیست .
  17. از نسخه ی X استفاده کنید
  18. Sub RVP_GetItemCount As Int '💯 ItemCount 💯' Return 9999 End Sub توی رویداد LV_GetItemCount هرچقدر تعداد رو بالاتر ببرید ، تعداد پیج ها نیز بیشتر می شوند .
  19. سلام حتما از itemList و Type استفاده کنید . توی رویداد کلیکتون Dim item = itemList.Get(yourPosition) As yourType item.yourTitle = "new Title" itemList.Set(yourPosition,item) LV.notifyItemChanged(yourPosition) اگه مقدار ویرایش بیشتر از یک عدد هست از notifyItemRangeChanged استفاده کنید . اگه چندکار رو باهم انجام میدید مثل Add ، Remove ، Change از notifyDataSetChanged استفاده کنید .
  20. سلام از قبل وجود داشتند ، دقت نکردید .
  21. Sub Globals Dim Zip As HitexZIP End Sub Sub Activity_Create(FirstTime As Boolean) Zip.Initialize(File.DirRootExternal,"YourArchive.zip","Zip") Zip.PassWord = "Password" Zip.ExtractAll(File.DirRootExternal) End Sub Sub Zip_ZipDone (FileName As String, Progress As Int) Log("FileName : " & FileName & " / Progress : " & Progress) End Sub
  22. پوشه ی Objects رو حذف کنید . ساپورت و ریپازیتوری sdk رو بروزرسانی کنید . همچنین توی مسیر Tools/Configure Paths مطمئن شید فایل android.jar نسخه ی 26 به بالا رو قرار داده باشید . علاوه بر اون Build Tools توی Sdk رو چک کنید هرکدوم زیر 23.0.3 بود حذف کنید و آخرین نسخه ی اون رو نصب کنید .
  23. سلام قبل از LV.Show باید Cur پُر شده باشه وگرنه ارور میده بازم محض احتیاط Sub LV_GetItemCount As Int '💯 ItemCount 💯' If Cur.IsInitialized Then Return Cur.RowCount Return 0 End Sub
  24. Sub imageView_Click Dim imageView = Sender As Hitex_ImageView Dim BD = Glide.GetDrawable(imageView) As BitmapDrawable If BD.IsInitialized Then Dim Bitmap = BD.Bitmap As Bitmap Dim Position = imageView.Tag2 As Int Dim out As OutputStream out = File.OpenOutput(File.DirRootExternal, "saved_image_" & Position & ".jpg", False) Bitmap.WriteToStream(out, 100, "JPEG") out.Close End If End Sub توی این مورد حتماً دقت کنید Target 22 یا پایینتر باشه یا برای موارد بالاتر ، حتما Permission از کاربر بگیرید