کلیدستان

نسخه‌ی کامل: ساخت Grideview برای نمایش عکسها (در برنامه نویسی اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام
خواستم بپرسم چطور می تونم یک گرید ویو بسازم که وقتی روی عکسی کلیک شد، عکس داخل صفحه بزرگ شه ( مثل گالری موبایل) و قابلیت زوم و درج نام اون هم فراهم بشه ؟؟؟ 

باتشکر از شما
 
سلام.
برای ساخت یک GridView برای نمایش تصاویر و اجرا شدن یک سری کد، هنگام اشاره بر روی هر یک از item ها، کلید زیر را بخوانید :

کلید شماره 2776

وقتی روی هر item (که حاوی عکس است) اشاره می کنیم، می خواهیم که همان عکس به صورت بزرگ نمایش داده شود، برای این منظور، موضوع زیر را بخوانید :

http://www.kelidestan.com/forum/showthread.php?tid=5049

برای ایجاد امکان بزرگنمایی (zoom) دو انگشتی، کلید زیر را بخوانید :

کلید شماره 2409

منظورتون از درج نام رو دقیقا متوجه نشدم، ولی اگر قصد دارید که در برنامه اندروید، برای هر عکس، یک متن متناظر ذخیره کنید، از پایگاه داده (SQLite Database) یا SharedPreferences استفاده کنید (با EditText ، متن را دریافت کرده و ذخیره می کنید).  یا اگر قصد دارید که نام متناظر با عکس نمایش داده شود، باید در مرحله ساخت برنامه، آن را در فایل strings.xml یا پایگاه داده یا با هر روش دیگری، ذخیره کرده باشید و با عنصر TextView ، نام عکس را در زیر آن نمایش بدهید.

با تشکر از شما 

استاد میشه راهنمایی کنید که چطور با کلیک روی عکس ، اون داخل صفحه جدید باز بشه ( Onclick listener) یا هر روشی که مناسب بدونید. 

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

به نظر شما این لینک مناسبه : 

http://sampleprogramz.com/android/gridview.php

قسمت E. Add Images to GridView in Android



با تشکر از شما

 
در همان مبحث ساخت یک GridView برای نمایش تصاویر (کلید شماره 2776)، کد زیر را نوشته ایم :

کد پی‌اچ‌پی:
gridview.setOnItemClickListener(new OnItemClickListener() {
    @
Override
    
public void onItemClick(AdapterView<?> parent, View v,
            int position, long id) {
        String position_string = "you pressed the item number " + String.valueOf(position+1) + " in GridView";
        Toast.makeText(getApplicationContext(), position_string, Toast.LENGTH_SHORT).show();
    }
}); 

که در واقع روش setOnItemClickListener را برای GridView به کار برده ایم تا تعیین کنیم که با اشاره بر روی هر item از GridView ، چه کدی اجرا شود (مثلا در کد بالا، یک پیام با استفاده از روش Toast نمایش داده می شود). شما GridView دلخواه خود را که ساختید، بعد روش بالا را هم برای آن بنویسید و در آن، بر اساس متغیر position که شماره متناظر با item را به شما می دهد، موارد مورد نظر خود را اجرا نمایید (مثلا نمایش یک Dialog و اطلاعاتی بر اساس شماره item و یا رفتن به Activity جدید و ارسال شماره item به آن، که Activity ، بر اساس شماره ای که دریافت کرده، یک سری اطلاعات را نمایش می دهد).

سلام
این گرید ویو که در سایت هست بهینه نیست
مثلا تصاویر رو دیر لود می کنه و کند عمل می کنه
می شه کد بهینه شده رو قرار بدین یا چطور باید عمل کنم؟
ممنون
با عرض سلام و خسته نباشید.
من تازه برنامه نویسی اندروید رو شروع کردم و می خوام اولین برنامه خودم رو طراحی کنم.
https://cafebazaar.ir/app/ir.peyman_mn.c...ings/?l=fa
بنده میخوام برنامه ای شبیه برنامه ای که در لینک بالا وجود داره طراحی کنم . برام چندتا سوال پیش اومده ؟؟
1- آیا برای ساخت این برنامه باید از GridView استفاده کرد ؟
2- اگر جواب سوال اول "بله" است . آیا باید به تعداد آموزش ها (در این برنامه 50 آموزش وجود دارد) Activity  ایجاد کرد ؟ و هر عکس را به یک Activity متصل کرد ؟ یا راه دیگری وجود دارد.
3- آیا باید برای عکس های برنامه دیتابیس طراحی کرد ؟ یا باید عکس ها در خود پوشه drawablei قرار داد؟
ممنون میشم اگر راهنمایی بفرمایید.
 سلام.
1- بله عکس زیر با استفاده از عنصر GridView ساخته شده است :


2- نه نیازی نیست و اصلا هم توصیه نمی شود چنین روشی را به کار ببرید. نگاهی به کلید زیر بیندازید :

کلید شماره 2253

3- قرار دادن عکس ها در پایگاه داده، معمولا باعث کندی برنامه اندروید می شود. توصیه من این است که آنها را در همان پوشه های drawable قرار بدهید. 
البته ممکن است شخصی بخواهد عکس هایش به راحتی توسط دیگران کپی نشود و بنابراین آنها را در پایگاه داده قرار داده و پایگاه داده را هم رمزگذاری کند، ولی این مورد دردسر زیادی دارد و معمولا هم تنها شرکت های بزرگ که محتوای خیلی با ارزشی داشته باشند به سراغ این روش ها می روند.