PDA

View Full Version : نحوه تنظیم ظاهر گرافیکی برنامه برای اجرای درست در سایر گوشی ها



meysam jahedi
شنبه 16 اسفند 1393, 10:17 صبح
سلام

چطور باید کنترل ها رو در برنامه تنظیم کرد که تو سایر گوشی ها به درستی نشون داده بشن ؟

در موردش زیاد گشتم اما نتونستم درست متوجه بشم ، از دوستانی که تجربه دارن ممنون میشم بگن که چطور این کار رو انجام میدن

*** برای تصویر زمینه چکار باید کرد که تو همه گوشی ها مطمئن شیم به درستی نشون داده میشه ؟ عکسمون رو با چه سایزی تو فولدرهای drawable متفاوت کپی کنیم؟

*** تصویری که بر روی دکمه ها میزاریم چطور؟

Aram0630
شنبه 16 اسفند 1393, 12:16 عصر
آقای جاهدی فقط لازمه از فرمت خاصی پیروی کنین .
مثلا سایز نوشته هاتون رو برحسب sp بنویسین . اینجوری خودش بسته به اندازه نمایشگر گوشی تغییر سایز میده و سایز دلخواه شما با کیفیت عالی نشون داده میشه .
برای مولفه های دیگه هم همینطوره . من فیلم آموزش لیندا رو دیدم این نکته رو ذکر کرده بود . الان دم دستم نیست وگرنه فرمت بقیه مولفه ها رو هم براتون میزاشتم .

meysam jahedi
شنبه 16 اسفند 1393, 19:31 عصر
آقای جاهدی فقط لازمه از فرمت خاصی پیروی کنین .
مثلا سایز نوشته هاتون رو برحسب sp بنویسین . اینجوری خودش بسته به اندازه نمایشگر گوشی تغییر سایز میده و سایز دلخواه شما با کیفیت عالی نشون داده میشه .
برای مولفه های دیگه هم همینطوره . من فیلم آموزش لیندا رو دیدم این نکته رو ذکر کرده بود . الان دم دستم نیست وگرنه فرمت بقیه مولفه ها رو هم براتون میزاشتم .


در موردش زیاد سرچ کردم ، اما نمیدونم باید چکار کنم ، گفتم تایپیک بزنم تا حداقل یک موردش رو اینجا شاید جواب بگیرم

***** اینکه بک گراند رو چه سایزی بدم و با چه سایزی تو پوشه های drawable بزارم و اینکه آدرس بک گراند رو از کدومش بدم؟

Aram0630
شنبه 16 اسفند 1393, 21:56 عصر
اگه تا فردا عصر کسی جوابتونو نداد همه رو بهتون میگم .
فقط فرمت سایز بندیه مولفه ها فرق داره .

meysam jahedi
شنبه 16 اسفند 1393, 22:10 عصر
ممنون میشم:لبخندساده:

Aram0630
یک شنبه 17 اسفند 1393, 14:47 عصر
برای نوشته ها و متن ها از فرمت سایز sp استفاده کن
برای باتن ها و ایمیج باتن ها از dp استفاده کن

برای عکس های نرم افزار و بکراند ها از این فرمت پیروی کن .

240x320 ldpi

320x480 mdpi

480x800 hdpi

600x1024 xhdpi

720x1280 xxhdpi


برای آیکون ها هم از این فرمت .

36x36 for low-density (LDPI)48x48 for medium-density (MDPI

72x72 for high-density (HDPI)

96x96 for extra high-density (XHDPI)

144x144 for extra extra high-density (XXHDPI)

امیدوارم تونسته باشم کمکت کنم .

meysam jahedi
یک شنبه 17 اسفند 1393, 15:28 عصر
برای عکس های نرم افزار و بکراند ها از این فرمت پیروی کن .

240x320 ldpi

320x480 mdpi

480x800 hdpi

600x1024 xhdpi

720x1280 xxhdpi

یعنی برای بک گراند ، تصاویر رو به ابعاد بالا بسازم و بزارم تو فولدر های مربوطه؟

--------------------------------------------------------------------------------------------------------

برای آیکون ها هم از این فرمت .

36x36 for low-density (LDPI)48x48 for medium-density (MDPI

72x72 for high-density (HDPI)

96x96 for extra high-density (XHDPI)

144x144 for extra extra high-density (XXHDPI)

امیدوارم تونسته باشم کمکت کنم .

و برای آیکن هم با ابعاد بالا طراحی بشه و تو فولدر hdpi و... گذاشته بشه؟

Aram0630
یک شنبه 17 اسفند 1393, 15:55 عصر
بله همین طوره .
وقتی نرم افزار روی گوشی اجرا بشه نرم افزار خودش محتویات اون فولدری رو نشون میده که با سایز صفحه نمایش گوشی یکیه .

meysam jahedi
یک شنبه 17 اسفند 1393, 16:21 عصر
من قبلا یه برنامه ساده طراحی کرده بودم ، رو چندتا گوشی خوب نشون میداد ، اما رو گوشی یکی از دوستام دو تا دکمه ای که تو صفحه بودن خیلی انگار کوچیک شده بودن و اصلا جالب نبود ، نمیدونم با همچین مشکلی باید چکار کنم که با توجه به صفحه نمایش ، دکمه ها هم شکل خودشون رو حفظ

Aram0630
یک شنبه 17 اسفند 1393, 23:31 عصر
خوب همینایی رو که عرض کردم انجام بدین خودش سایز مناسب رو انتخاب میکنه و نشون میده
نیازی به هیچ تغیراتی هم نداره

meysam jahedi
دوشنبه 18 اسفند 1393, 22:35 عصر
دو تا سوال :

1- اگه یه تصویر داشته باشیم و بخوایم هر گوشش نقش یه دکمه رو داشته باشه باید چکار کنیم ؟ همچین چیزی میشه ؟ (اگه نمیشه پس باید سوال دومم رو مطرح کنم)

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

امیدوارم تونسته باشم منظورمو درست بیان کنم

Aram0630
دوشنبه 18 اسفند 1393, 23:24 عصر
1-نمیشه
2-میشه و خیلی ایده جالبیه . راحت هم هست . از رلیتیو لی آوت استفاده کن . با موس دراگ کن رو صفحه به هم بچسبونشون . اگه نشد از قسمت کد نویسیش کمک بگیر جمع و جورشون کن . براشون فاصله تعیین کن و مقدار عددیش رو 0 بزار بر حسب dp .

meysam jahedi
دوشنبه 18 اسفند 1393, 23:36 عصر
1-نمیشه
2-میشه و خیلی ایده جالبیه . راحت هم هست . از رلیتیو لی آوت استفاده کن . با موس دراگ کن رو صفحه به هم بچسبونشون . اگه نشد از قسمت کد نویسیش کمک بگیر جمع و جورشون کن . براشون فاصله تعیین کن و مقدار عددیش رو 0 بزار بر حسب dp .

تو سیستم تیکه ها رو کنار هم درست میچسبونم اما بعدا تو گوشی های مختلف از هم فاصله میگیرن ، گیر کار اینجاست

Aram0630
سه شنبه 19 اسفند 1393, 00:16 صبح
دلیلش اینه که شما براش فاصله تعیین نکردی
تو اون صفحه نمایش مجازی که هکلیپس بهت نشون میده درست سر جاشونن .
اما بعدش بسته به سایز صفحه نمایش گوشی تغییر سایز و به طبع تغییر مکان میدن
شما باید براشون فاصله تعیین کنین
مثلا اگه دیده باشین تو لیینیر لی آوت می نویسن margetop="10dp"
شما باید توی لی آوتتون فاصله رو برابر با 0dp قرار بدین .

meysam jahedi
سه شنبه 19 اسفند 1393, 00:55 صبح
دلیلش اینه که شما براش فاصله تعیین نکردی
تو اون صفحه نمایش مجازی که هکلیپس بهت نشون میده درست سر جاشونن .
اما بعدش بسته به سایز صفحه نمایش گوشی تغییر سایز و به طبع تغییر مکان میدن
شما باید براشون فاصله تعیین کنین
مثلا اگه دیده باشین تو لیینیر لی آوت می نویسن margetop="10dp"
شما باید توی لی آوتتون فاصله رو برابر با 0dp قرار بدین .

منظورتون رو متوجه نمیشم، خب اگه تو دیزاین فاصله بدم که چینشش تو دیزاین بهم میریزه !!! من جفت و جورشون کردم و منظم ، ولی تو سایر گوشی ها بهم میریزن

Aram0630
سه شنبه 19 اسفند 1393, 09:12 صبح
این کد رو با دقت ببینین

<ImageView android:id="@+id/show_fav"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/show_share"
android:layout_toRightOf="@+id/show_share"
android:paddingLeft="10dp"
android:src="@drawable/itm_nofav" />


تو خط چهارم نوشتم که این ایمیج باتن سمت راست ایمیج باتن share باشه .تا اینجا رو که فهمیدین درسته ؟
حالا خط زیرش نوشتم که فاصله ش با ایمیج باتن سمت چپی 10dp باشه . اینجا من براش فاصله تعیین کردم .
اگه این نرم افزار روی یه گوشی 4 اینچی اجرا بشه 10dp فاصله کمیه و شاید به سختی با چشم قابل تشخیص باشه
اما اگه روی یه تبلت 10 اینچی اجرا بشه یکی دو سانتی متر فاصله می گیره . تا اینجاشم فهمیدی ؟
اما وقتی فاصله رو برابر با 0 مطلق در نظر بگیری چه روی گوشیه 3 و 4 اینچی باشه و چه روی یه تبلت 12 اینچ فاصله همون 0 مطلقه .
شما باید براش فاصله تعیین کنین اما با مقدار عددیه 0 .
اگه اینو دیگه متوجه نشین سرمو می کوبم تو دیوار . دیگه ساده ترین توضیح ممکن رو دادم .:متفکر::متفکر::متفکر::متفکر:: متفکر::متفکر:

parniaznet
سه شنبه 19 اسفند 1393, 20:31 عصر
جناب جاهدی عبارت android Polygon buttons رو تو گوگل سرچ کنید ، تو بحث هایی که پیرامونش شده مخصوصا توی stackoverflow ، پاسخ سوالتون رو میگیرید.