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

کتابخانه AriaListView | لیست ویو با ArrayAdapter با سرعت خیلی بالا


امین شاهدی

سوال

با سلام ، 

خوب همونطور که از اسمش پیداس کتابخونه لیست ویو با Arrayadapter هستش که به جای لیست ویو خود b4a میتونین استفاده کنید که سرعت بسیار بالا تری داره و دیگه نیازی به لیمیت دادن و .. ندارید ،

 

کتابخونه تقریبا کامله و فقط در حال ساخت لیوت ها هستم ، لیوت هایی مثل لیوت دو متنی و لیوت دو متنی همراه با عکس رو اضافه کردم (مثل AddTwoLinesAndBitmap و AddTwoLines)    

 

لیست تک متنی با 500000 آیتم

 

کتابخونه هم تا حداکثر یکی دو روز دیگه  با آموزش تصویری آماده میشه ( لیوت های حرفه ای مثل لیوت با CardView و .... هم کم کم به کتابخونه اضافه میشه )

 

این تاپیک رو زدم تا بگم که اگه لیوتی مد نظرتون هست حتما بگید تا به کتابخونه اضافه کنم ، مثلا یه خط متن و یه باتن در پایین هر متن و هر لیوتی که به نظرتون میاد رو بگین....

 

کتابخونه توی فروشگاه قرار گرفت ، اینجا رو کلیک کنید

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

  • پاسخ ها 158
  • ایجاد شده
  • آخرین پاسخ

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

سلام ممنون بابت این کتابخونه !

میخوام عکس هامو از SD کارت لود کنم

ولی فک کنم فقط میشه از Assets لود کرد عکس های AriaAdapterWithImage رو

 

لطفاً راه حلی نشون بدید

فعلا فقط لود عکس ها در خود برنامه امکان پذیره 

اگر میخاید از دیتابیس استفاده کنید تو پست55 گفتم که چه جور این کارو بکنید 

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

ساخت ویو های هر آیتم با آداپتره ! آداپتر هم wrap شده ! کاربر به مراحل ساخت ویو های هر آیتم دسترسی نداره ! ! چطور مگه ؟ 

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

تغییر دادم چبزی میخاستم نشد

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

01.PNG

 

 

 

ولی چیزی من منظورم بود مثل اپ دیوار و مانند اونه 

اینجوری 

cs.PNG

 

 

 

نگاه کنید بین هر آیتمش از هر 4 طرف فاصله داره میشه اینجوری در آورد ؟

 

آها ، شما با دادن Margin میتونین فاصله اون رو از اطراف بیشتر کنید : android:layout_margin : به این صورت :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#dedede"
    android:layout_margin="5dp"
  >

_____________________________________________

 

 

سلام ممنون بابت این کتابخونه !

میخوام عکس هامو از SD کارت لود کنم

ولی فک کنم فقط میشه از Assets لود کرد عکس های AriaAdapterWithImage رو

 

لطفاً راه حلی نشون بدید

 

اگه بشه مستقیم Bitmap گذاشت که عالی میشه

 

آره گالری رو این امکان رو گذاشتم که از همه جا بشه لود کرد ولی متاسفانه  توی AriaAdapterWithImage یادم رفت ، الان درستش میکنم توی پیام خصوصی براتون میفرستم تا بتونید آدرس کامل رو از هرجایی بهش بدین

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

آها ، شما با دادن Margin میتونین فاصله اون رو از اطراف بیشتر کنید : android:layout_margin : به این صورت :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#dedede"
    android:layout_margin="5dp"
  >

_____________________________________________

 

 

 

آره گالری رو این امکان رو گذاشتم که از همه جا بشه لود کرد ولی متاسفانه  توی AriaAdapterWithImage یادم رفت ، الان درستش میکنم توی پیام خصوصی براتون میفرستم تا بتونید آدرس کامل رو از هرجایی بهش بدین

ممنونم آخه میخوام از آهنگ ها عکس هاشون رو بگیرم که بهم Bitmap میده ! میخوام مستقیم وارد کنم

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

ممنونم آخه میخوام از آهنگ ها عکس هاشون رو بگیرم که بهم Bitmap میده ! میخوام مستقیم وارد کنم

 

فعلا امکانش نیست ، میتونین Bitmap هارو سیو کنید و بعد آدرسش رو به لیست بدین

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

برید تو پوشه ریسورس ها آریا لیست ویو تو پوشه لایوت بعد هر لایوتی که خواستید هر تغییری توش بدید اول ار حالت رد آن لی در بیارید بعد با نوت پد ویرایش کنید و دوباره تیک رد آن لی رو بزنید 

و استفاده کنید

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

اما سوالم این است که من برای اینکه عکس در حالت گریدویو تمام پنل خود را بگیرد در imgviewelayout در قسمت android:scaleType="centerInside به صورت های مختلف مثل fitCenter تغییر دادم اما تغییرات اعمال نشد

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

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

فعلا امکانش نیست ، میتونین Bitmap هارو سیو کنید و بعد آدرسش رو به لیست بدین

باشه Bitmap.WriteToStream میکنم 

فقط امیدوارم توی 2000 تا عکس کند نشه این همه write کردن

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

ساخت ویو های هر آیتم با آداپتره ! آداپتر هم wrap شده ! کاربر به مراحل ساخت ویو های هر آیتم دسترسی نداره ! ! چطور مگه ؟

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

لیست ویو شما چطور؟

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

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

اما سوالم این است که من برای اینکه عکس در حالت گریدویو تمام پنل خود را بگیرد در imgviewelayout در قسمت android:scaleType="centerInside به صورت های مختلف مثل fitCenter تغییر دادم اما تغییرات اعمال نشد

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

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

fit in xml

من از چهارمین نتیجه جستجو استفاده کردم 

اینم کدهای باید تغییر بدید 

 <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/imageView"

        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginRight="5dp" 
	android:scaleType="fitXY"

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

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

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

سوال اوتون والا من که مشکلی ندیدم رو هر گوشی یا شبیه سازی که تست کردم ... هرکی هم تاحالا از کتابخونه استفاده کذده مشکلی نداشته ،

سوال دومتون هم بله میشه از طریق فایل xml میتونین اندازه عکس رو هر تغییری که میخواین بدین ، واسه گرد کردن هم میتونین  یه drawable گرد بسازید و بزارید بکگراند ایمیج ویو.

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

آقا آریالیست رو اینیشسالایز کردم

تو اکتیویتی ادش کردم

ls,ls2  رو اینسشیالایز و مقدار دهی کردم

all.Titlenew یه لیسته که از یه اکتیویتی دیگه میگیرمش

آداپتر رو با مقادیر اینیشیالایز کردم. all.Titlenew و  ls  رو خیلی خوب نشون میده اما عکسها نمیان

ls2.Add(adapter.getAssetsFullAddress("a1.png"))

رو درست کردم باز اروره

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

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

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
	android:background="#dedede"
	android:layout_margin="10dp"
  >

حتی مقدار 10dp رو به 10dip تغییرم دادم بازم کار نداد 

کلافه ام کرده 

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

عکس مورد نظر رو بزارید تو پوشه drawable ، برای مثال pic.png و این کد رو توی تگ لیوت اصلی یعنی RelativeLayout اضافه کنید : 

 android:background="@drawable/pic"

سوال دومتون رو هم اصلا متوجه نشدم

 

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

 

دانلود سورس

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

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

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

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

امین جان خسته نباشی

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

قابلیت تعیین فاصله بین هر ایتم رو هم اضافه کنید.

 

ممنون ، میتونین یه جدا کننده transparent ایجاد کنید و ارتفاع اون رو زیاد کنید تا بین آیتم ها فاصله بندازید :

Dim alv As AriaListView
Dim drawable As ColorDrawable
drawable.Initialize(Colors.Transparent,0)
alv.SetDivider(drawable)
alv.SetDividerHeight(20dip)  ' inja fasele o tain konid
لینک ارسال
به اشتراک گذاری در سایت های دیگر

این لیست نیازی به value نداره ، اینجا جای برطرف کردن مشکلات راجع به آریا لیست ویو ، شمام اگه خریدی استفاده کردی و مشکلی داشتی بنده در خدمتم در غیر این صورت لطف کنین الکی اسپم ندین

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

سلام!

ممنون از امین آقای گل :gol:

همیشه خودتو به زحمت میندازی (خجالت)

دستت درد نکنه

انشالله موفق باشی

لیوت های پیشنهادی:

-یک متنی با چک باکس

-یک متنی با باتن

-یک متنی با رادیوباتن

همین دیگه بیشتر زحمتت نمیدم(نخواستی هم نزارشون)

یه سوال؟ لیست های این لایبراری رو میشه مثلا توی CustomDialog یا... لود کرد؟؟

+موضوع دنبال شد :D 

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

واسه سرچ شما باید توی لیستی که به لیست ویو میدین سرچ کنین ، توی l1 و یا l2 ، 

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

Sub Search(query As String,l As List) As Int
	Dim item As String
	For i=0 To l.Size
		item = l.Get(i)
		If item.Contains(query) Then 
			Return i
			Exit
		End If
	Next
End Sub

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

Search("amin",l1)

پوزیشن هم از 0 شروع میشه ولی آیدی های شما از 1 ، پس کلیک لیستنر رو اینجوری بنویسین : 

Sub list_select (position As Int)
	meghdar=position+1
	StartActivity(Menuto)
End Sub

بعد هم عزیز توی دیتابیس شما ستونی به اسم fehrest نیست بعد شما به ادپتر ستون fehrest رو دادین ! هیچکدوم از این ها به آریا لیست ویو مربوط نمیشه ولی من جواب دادم ،

 

(دوستان لطفا واسه سوالاتون تاپیک بزنید و همه چی رو به arialistview ربط ندین ، کلی از سوالاتون رو میخوندم که هیچ ربطی به این نداره و مربوط به دیتابیس و ... بوده کلا ، ممنون)

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

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

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
	android:background="#dedede"
	android:layout_margin="10dp"
  >

حتی مقدار 10dp رو به 10dip تغییرم دادم بازم کار نداد 

کلافه ام کرده 

 

من الان با margin تست کردم بینش فاصله افتاد ، درسته که ،

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

بایگانی شده

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

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

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