آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال از محمد حسین در زمینه نرم افزار اینجاست!

حمید زمانی  11 سال پیش  11 سال پیش
+4 0

با سلام
محمد حسین جان خیلی کنجکاو شدم بدونم که در طراحی ui اپلیکیشن اینجاست! از چی استفاده کردی؟
اکشن بار و viewpager رو می شناسم ولی می خواستم بدونم چجوری آیتم ها رو مثل برنامه های کافه بازار درست کردی و 3 تا 3 تا چیدی و یک دکمه بیشتر براش گذاشتی
چون ظاهرت خیلی شبیه به کافه بازار بود و من واقعا ذهنم درگیر شده ، ممنون میشم راهنمایی کنی ، من شدیدا منتظر پاسخت هستم.

با تشکر
حمید زمانی

 برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال 
کاشی زاده  11 سال پیش
+10 0

دوستان دیگه ای هم این سوال رو پرسیدن و بنده در جواب به همشون گفتم که با استفاده از یک کاستوم کنترل میشه به یه همچین UI رسید کار ساده ای هست .

توضیح مختصری در مورد نحوه ساخت UI که شبیه به UI گوگل پلی و بازار هم که از روی گوگل کپی کرده رو در اینجا مینویسم.

در ابتدا باید یک View بسازید که توش یه لایه افقی باشه و بالاش یه دکمه برای بیشتر .

و یک View برای هر آیتم که داخل اپ قرار هست نمایش بدیم .

حالا موقعی که به سرور درخواست دادید اطلاعات مربوط به هم آیتم رو میگیرید .

یه حلقه قرار میدید و توش اندازه عرضی گوشی رو محاسبه میکنید و میگید به اندازه عرض گوشی تعداد مناسبی از آیتم رو نمایش بده .

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

برای دکمه بیشتر هم باید برای هر دسته یه کد بذارید و بهش بگید اگر روی بیشتر کلیک شد لیست آیتم هایی با کد مثلا X رو بیار .

 

به همین سادگی ، فقط پیاده سازیش یکم زمان میبرم ولی از نظر فنی کار ساده ای هست .

0 0
تشکر می کنم ، تابحال پیش نیومده بود به این صورت به جوابم برسم ، جالبیش برام این بود که در صورت چرخاندن گوشی تعداد آیتم ها بیشتر میشد ، من نمی دونستم چطور این کار رو بکنم ولی شما یه توضیح مختصری دادین ، من حتما تلاشم رو می کنم و اگه باز هم به مشکل خوردم در صورت اجازه مزاحمتون میشم ، مجدداً تشکر میکنم (11 سال پیش)
+1 0
زمانی که گوشی میچرخه اکتیویتی شما Destroy میشه و مجدد عرض صفحه محاسبه میشه ، به همین علت تعداد آیتم ها تغییر میکنه . (11 سال پیش)
0 0
این ها رو میدونم تنها قسمتی که حس می کنم مشکل دارم اینه که چطوری تعداد آیتم ها رو به صورت خودکار اضافه بکنم ، مثلا بعد از گرفتن عرض صفحه بگم که 3 تا آیتم اضافه کن ، چجوری این سه تا رو اضافه کنم ، فعلا جوابش رو نگی ممنون میشم چون می خوام خودم تلاش کنم و حداقل یه دست و پایی بزنم و اگر نشد سوال بپرسم ، زیاد از لقمه آماده خوشم نمیاد ، خیلی مردی که جوابگو هستی و راحت از سوالات نمیگذری ، بازم تشکر (11 سال پیش)
0 0
اینها مشکلی نیستن. تنها مشکلی که اعصاب خوردکن هست اینه که توی گوشی های کوچیک، گرافیک به هم میریزه. چون که متن ها رو single line میذارم، متن ها توی گوشی کوچیک، نصفش نمایش میده. (11 سال پیش)
0 0
احسان جان یه عکس از ui برنامت بده ببینیم شما چیکار کردیD: (11 سال پیش)
0 0
متن رو برحسب dip بدید بر اساس اندازه گوشی خودش درستش میکنه نیازی نیست کار خاصی بکنید . (11 سال پیش)
0 0
برنامه که حالا حالاها کار داره. تا هفته دیگه ایشالا آماده میشه. محمدحسین جان، منم همین کارو میکنم ولی توی گوشی کوچیک نمیدونم چرا نصفشو نشون نمیده. ایناها عکسشو این پایین گذاشتم (11 سال پیش)
0 0
آقا من به یک نتایجی رسیدم فقط تو یه دو راهی گیر کردم و نیاز به راهنمایی دارم : اول یه کاستوم کنترل ساختم که فقط شامل آیتم ها میشه دقیقا مثل آیتم هر برنامه در کافه بازار که شامل عکس و نام اون میشه. دوم یه کاستوم کنترل دیگه ایجاد کردم و بالاش یک دکمه "بیشتر" و یک تکست ویو اضافه کردم. زیر این دکمه و تکست ویو یک لینیر لیوت ایجاد کردم که قراره ظرفی برای آیتم ها بشه. حالا مشکل من تو این نقطه است که برای تنظیم تعداد آیتم ها با عرض صفحه چیکار کنم ؟ راه حلی که به ذهن خودم رسیده اینه که : 1. تعداد 10 تا آیتم رو به کاستوم کنترل اضافه کنم و visibility رو روی gone قرار بدم ، و بعد از گرفتن عرض صفحه تعداد مناسب رو از gone به visible تغییر بدم. 2.حس می کردم که شما اینکار رو نکردین و بعد از انجام محاسبات و بدست آوردن تعداد آیتم مناسب جهت قرار گیری، ا استفاده از کد و برنامه نویسی ، تعدادی از view آیتم را ایجاد کردین ، یعنی از روش gone و visible استفاده نکردین. حالا با این تفاسیر : اولا شما از چه روشی استفاده کردین ؟ دوماً من چطوری عمل کنم که برنامم اصولی تر بشه؟ با تشکر از لطف جنابعالی (11 سال پیش)
0 0
? (11 سال پیش)
+2 0
خب شما یه حلقه قرار بدید و مقدار عرض صفحه رو قبل از حلقه محاسبه کنید اگر آیتم هاتون اندازه ثابتی دارن که هیچ تقسیم میکنید به اندازه عرض و به تعداد مورد نیاز نمایش میده در واقع درون حلقه باید شرطی بذارید که اگر اندازه گل آیتم های اضافه شده تا این لحظه کمتر از عرض بود یکی دیگه اضافه کن و اگرم بیشترو یا مساوی بود بیا بیرون . اندازه کل آیتم های ساخته شده هم در هر بار ساخت آیتم درون متغیری ذخیره میشه و هر بار جمع بسته میشه . (11 سال پیش)
0 0
محمد جان سواله من بدست آوردن عدد مناسب نبود بلکه نحوه افزودن آیتم ها بود ، شما گفتی که "درون حلقه باید شرطی بذارید که اگر اندازه گل آیتم های اضافه شده تا این لحظه کمتر از عرض بود یکی دیگه اضافه کن" خوب این "یکی دیگه اضافه کن" رو چجوری انجام میدی ؟ از طریق کدنویسی یا از طریق visible و gone کردن visibility؟ (11 سال پیش)
+1 0
کد مینویسید دیگه میگه به لایه که مد نظرتون هست addView کن این آیتم رو .شرطشم که مشخصه با if مینویسید. (11 سال پیش)
0 0
خیلی ممنون ، تشکر می کنم ، فقط این addView رو استاد آموزش دادن؟ تو کدوم بخشه؟ (11 سال پیش)
پاسخ به سوال 
احسان منصوری  11 سال پیش
0 0

0 0
شما برای ویو مسیریابی مقدار عرضش رو wrap_content بذارید و میزان فاصله رو بهش وزن 1 و عرض 0 بدید. (11 سال پیش)
پاسخ به سوال 
javac  11 سال پیش
+2 0

افزودن لایه به شکل runTime:

 LinearLayout layout = findViewById(R.id.layout);
 layout.addView(newView);
0 0
خیلی ممنون ، دمت گرم (11 سال پیش)
پاسخ به سوال 
maiwand  11 سال پیش
0 0

سلام ،

چجوری میشه فهمید کاربر گوشی رو چرخونده ؟ و وقتی چرخوند کلا یه لایه دیگه بار گذاری بشه ؟ ممنون 

+1 0
نیازی نیست بفهمید ، خود اکتیوتی در هنگام چرخیدن گوشی کامل Destroy میشه و مجدد بارگذاری انجام میشه . (11 سال پیش)
0 0
پس اگه داخل متد on destroy یه لایه دیگه رو بارگذاری کنیم اوکیه ؟ portrait and landscape بودنشو چجوری بفهمیم ؟ ممنون بابت جواب سریع (11 سال پیش)
+1 0
نیازی نیست کاری بکنید خود اندروید همه کارهارو میکنه شما فقط گوشی رو بچرخون :) خواهش میکنم (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .