PDA

View Full Version : طراحی نرم افزار برای ابعاد مختلف گوشی



هزاره سوم
شنبه 15 فروردین 1394, 18:40 عصر
سلام
بنده تازه کار هستم
میخواستم بدونم چجور میشه یه برنامه بنویسیم که توی همه ی گوشی ها با ابعاد مختلف یکسان نمایش داده بشه.مثلا الان این برنامه ای که من نوشتم رو ببینید :

این محیط ایکلیپس هست که همه چی سر جای خودش هست :

130017



و این عکس هم از محیط YouWave هستش که اگر دقت بفرمایید میبینید دکمه ها همه جا به جا شدن :

130018

barnamenevisjavan
شنبه 15 فروردین 1394, 20:01 عصر
برای اینکه برنامه توی همه صفحه نمایش ها بخوبی و بدون پراکندگی نمایش داده بشه شما علاوه بر پوشه layout که دارید چندتا پوشه با نام های زیر درست کنید
layout-land
layout-large
layout-latge-land
layout-small
layout-small-land
layout-xlarge
layout-xlarge-land

که مربوط میشه به صفحه نمایش های کوچیک/بزرگ/خیلی بزرگ و حالت های عمودی و افقی
کافیه شما هروقت برنامت رو تکمیل کردی تمامی لایوت های طراحی شده در داخل پوشه layout (اصلی) رو داخل پوشه هایی که ساختی کپی کنی و تک تک باز کنی و درصورتی که پراکندگی داشت جای عناصر رو تغییر بدی

کد زیر رو هم داخل AndroidManifest.xml اضافه بکن
<compatible-screens>
<screen
android:screenDensity="ldpi"
android:screenSize="small" />
<screen
android:screenDensity="mdpi"
android:screenSize="normal" />
<screen
android:screenDensity="xhdpi"
android:screenSize="large" />
<screen
android:screenDensity="xhdpi"
android:screenSize="xlarge" />
</compatible-screens>

هزاره سوم
شنبه 15 فروردین 1394, 20:56 عصر
ممنون از اینکه جواب دادید
راستش من زیاد حرفه ای نیستم.پس اگر سوالی که الان میپرسم زیاد حرفه ای نیست ببخشید

منظورتون اینه که ما یه فایل در حالت عادی توی پوشه layout میسازیم(تا اینجا اکیه)
کار ساخت و دیزاین و خلاصه تمام کار که شد چند تا پوشه جدید با اون اسامی ایجاد کنم.(تا اینجا هم اکیه)
و فایل تمام کار شده (منظور همون فایل بالا) رو فقط کپی کنم؟؟ همین؟؟ تغییری نباید توش داد؟؟؟!!!

barnamenevisjavan
یک شنبه 16 فروردین 1394, 19:29 عصر
ممنون از اینکه جواب دادید
راستش من زیاد حرفه ای نیستم.پس اگر سوالی که الان میپرسم زیاد حرفه ای نیست ببخشید

منظورتون اینه که ما یه فایل در حالت عادی توی پوشه layout میسازیم(تا اینجا اکیه)
کار ساخت و دیزاین و خلاصه تمام کار که شد چند تا پوشه جدید با اون اسامی ایجاد کنم.(تا اینجا هم اکیه)
و فایل تمام کار شده (منظور همون فایل بالا) رو فقط کپی کنم؟؟ همین؟؟ تغییری نباید توش داد؟؟؟!!!
بله فقط کپی کنید بعد از کپی کردن بازش کنید خود اکلیپس بصورت خودکار سایزش رو تغییر میده و شما میتونی برنامت رو توی اون سایز ببینی و اگر مشکلی داشت مثلا کنترلی جاش تغییر کرده بود اصلاح کنی

meysam jahedi
یک شنبه 16 فروردین 1394, 20:06 عصر
برای اینکه برنامه توی همه صفحه نمایش ها بخوبی و بدون پراکندگی نمایش داده بشه شما علاوه بر پوشه layout که دارید چندتا پوشه با نام های زیر درست کنید
layout-land
layout-large
layout-latge-land
layout-small
layout-small-land
layout-xlarge
layout-xlarge-land

که مربوط میشه به صفحه نمایش های کوچیک/بزرگ/خیلی بزرگ و حالت های عمودی و افقی
کافیه شما هروقت برنامت رو تکمیل کردی تمامی لایوت های طراحی شده در داخل پوشه layout (اصلی) رو داخل پوشه هایی که ساختی کپی کنی و تک تک باز کنی و درصورتی که پراکندگی داشت جای عناصر رو تغییر بدی

کد زیر رو هم داخل AndroidManifest.xml اضافه بکن
<compatible-screens>
<screen
android:screenDensity="ldpi"
android:screenSize="small" />
<screen
android:screenDensity="mdpi"
android:screenSize="normal" />
<screen
android:screenDensity="xhdpi"
android:screenSize="large" />
<screen
android:screenDensity="xhdpi"
android:screenSize="xlarge" />
</compatible-screens>




ممنون از شما دوست گرامی

اگه یه بکگراند داشته باشیم تکلیفش به چه صورته برای صفحه نمایش های مختلف ؟ باید تو چه ابعادی طراحی بشه ؟
کلا تصاویری که برای دکمه ها ، imageview ها و.. استفاده میشه باید چکار کنیم که تو صفحه نمایش های مختلف درست نشون داده بشه ؟
سایز مناسب تصویر برای دکمه ها چند؟ از کجا باید بفهمیم که تو فتوشاپ تصویر تو چه ابعادی بسازیم برای دکمه ؟

meysam jahedi
دوشنبه 17 فروردین 1394, 09:14 صبح
اگه یه بکگراند داشته باشیم تکلیفش به چه صورته برای صفحه نمایش های مختلف ؟ باید تو چه ابعادی طراحی بشه ؟
کلا تصاویری که برای دکمه ها ، imageview ها و.. استفاده میشه باید چکار کنیم که تو صفحه نمایش های مختلف درست نشون داده بشه ؟
سایز مناسب تصویر برای دکمه ها چند؟ از کجا باید بفهمیم که تو فتوشاپ تصویر تو چه ابعادی بسازیم برای دکمه ؟

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

تصاویر طراحی شده برا دکمه ها ثابتن ، پس چطور باید تو لایوت های بزرگتر سایز تصاویر بزرگ بشن

meysam jahedi
جمعه 21 فروردین 1394, 20:42 عصر
برای اینکه برنامه توی همه صفحه نمایش ها بخوبی و بدون پراکندگی نمایش داده بشه شما علاوه بر پوشه layout که دارید چندتا پوشه با نام های زیر درست کنید
layout-land
layout-large
layout-latge-land
layout-small
layout-small-land
layout-xlarge
layout-xlarge-land

که مربوط میشه به صفحه نمایش های کوچیک/بزرگ/خیلی بزرگ و حالت های عمودی و افقی
کافیه شما هروقت برنامت رو تکمیل کردی تمامی لایوت های طراحی شده در داخل پوشه layout (اصلی) رو داخل پوشه هایی که ساختی کپی کنی و تک تک باز کنی و درصورتی که پراکندگی داشت جای عناصر رو تغییر بدی

کد زیر رو هم داخل AndroidManifest.xml اضافه بکن
<compatible-screens>
<screen
android:screenDensity="ldpi"
android:screenSize="small" />
<screen
android:screenDensity="mdpi"
android:screenSize="normal" />
<screen
android:screenDensity="xhdpi"
android:screenSize="large" />
<screen
android:screenDensity="xhdpi"
android:screenSize="xlarge" />
</compatible-screens>




با این روش یعنی برای هر لایوت با سایز متفاوتش دیگه اگه هر button رو سایز دستی بدیم و در محل مورد نظر قرار بدیم دیگه تو اون قسمت ثابت میمونه و تغییر مکان نمیده موقع اجرا ؟

meysam jahedi
جمعه 21 فروردین 1394, 21:26 عصر
تو صفحات مختلف که گفتید با توجه به بک گراند ، دکمه هایی رو در RelativeLayout قرار دادم اما تو گوشی خودمم اجرا گرفتم بازم جای دکمه ها تغییر میکنه و تو اون قسمت از بکگراندم قرار نمیگیرند این دکمه ها