انجمن سایت کلیدستان



مشکل بهم ریختگی و جابجایی عناصر در دستگاه های مختلف اندرویدزمان کنونی: ۱۳۹۵/۰۹/۱۶، ۰۷:۱۹ ق.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: mhdser
آخرین ارسال: admin
پاسخ 24
بازدید 9766

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل بهم ریختگی و جابجایی عناصر در دستگاه های مختلف اندروید

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

#1
[attachment=481]سلام
در ابتدا صمیمانه از زحمات شما بسیار سپاسگزارم. سایت شما و نحوه تقسیم بندی مطالب و دسترسی آسان یکی از دلایل علاقه مندی من به برنامه نویسی در اندروید شد. از این بابت نیز سپاسگزارم.
شاید مشکلی که الان با آن مواجه شدم مبتدی باشه که البته مبتدی است و آن اینکه برنامه ای طراحی کردم که پس زمینه صفحات آن را از طرح استفاده کردم یعنی نوشته ها و جای دکمه ها را روی طرح در نظر گرفتم. در برنامه عکس طرح را در بک گروند قرار دادم و روی محل دکمه ها از button استفاده نموده ام. در یک صفحه 4 دکمه و در دیگری 14 دکمه . خاصیت آلفا را 0 و نوشته پیش فرض دکمه ها را هم حذف کردم. 
مشکل اینجاست که پس از گرفتن خروجی و نصب روی تبلت 8 اینچ خودم مشکلی نداره ولی در گوشیهای دیگر با سایزهای مختلف و حتی تبلت های سایز کمتر یا بیشتر جای کلید ها عوض میشه.
از layout پیش فرض relative  استفاده کردم. پیش فرض 7 اینچ  wsvga گذاشتم.
نمونه فایل طراحی را هم فرستادم.
خواهشمندم مرا مانند یک مبتدی راهنمایی کنید.


 

 

 

 


فایل‌های پیوست

عکس(ها)
   
پاسخ

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

#2
سلام دوست عزیز.
خیلی ممنون. 
برای اینکه مطمئن شوید که در گوشی های اندروید با اندازه صفحه نمایش مختلف، ظاهر برنامه یکسان است، ابتدا واحد اندازه عناصر گرافیکی در xml را برابر dp در نظر بگیرید. در این زمینه، کلید زیر را بخوانید (البته کلید زیر در مورد متن است، اما توضیحاتی را در این زمینه دارد و با واحد sp برای متن هم آشنا می شوید) :

http://www.kelidestan.com/keys/keys.php?key=337

علاوه بر این، توصیه می شود که برای گوشی های اندروید با اندازه صفحه نمایش مختلف، چندین فایل xml برای ظاهر گرافیکی Activity مورد نظر، بسازید. این مورد را در کلید زیر شرح داده ایم :

http://www.kelidestan.com/keys/keys.php?key=239

در ضمن، توصیه می کنم که بخش کادر قرمز رنگ که قرار است زیر هر دکمه (Button) قرار بگیرد را از طرح کلی پس زمینه Activity جدا کنید و آن را در پس زمینه Button ها قرار بدهید، چون این طوری، تنظیم مواردی که گفتیم، ساده تر خواهد بود و از آن مهم تر اینکه مثلا اگر بخواهید 2 دکمه دیگر نیز اضافه کنید، دیگر مجبور نیستید که طرح پس زمینه Activity را تغییر بدهید، بلکه تنها دو دکمه (Button) که دارای آن پس زمینه به شکل کادر قرمز رنگ هستند، اضافه می شوند.



 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط mhdser

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

#3
سلام
از راهنمایی سریع شما بسیار ممنون و سپاسگزارم
پاسخ
 سپاس شده توسط admin

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

#4
ببخشید من همه کارایی که توی آموزش بود یعنی 3تا فولدر دیگه رو ایجاد کردم و عناصرش رو تنظیم کردم ، ولی بازم گوشی کوچک و بزرگ اونا رو اونجوری که برای بزرگ و کوچیک تنظیم کردم نمایش نمیده ، مثل Normall نشون میده، چرا؟؟؟... این یکی دیگه خیلی اضطراریه لطفاً یاری گرم برسونید لطفـــــاً
پاسخ

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

#5
(۱۳۹۳/۰۶/۱۹, ۱۰:۵۴ ب.ظ)'kousha.nikkar' نوشته: ببخشید من همه کارایی که توی آموزش بود یعنی 3تا فولدر دیگه رو ایجاد کردم و عناصرش رو تنظیم کردم ، ولی بازم گوشی کوچک و بزرگ اونا رو اونجوری که برای بزرگ و کوچیک تنظیم کردم نمایش نمیده ، مثل Normall نشون میده، چرا؟؟؟... این یکی دیگه خیلی اضطراریه لطفاً یاری گرم برسونید لطفـــــاً

 

دوست عزیز سلام
من هم با همون راهنمایی این کارها رو کردم ولی باز مشکل شما رو دارم. مخصوصا اینکه وقتی هر layout را تنظیم میکنیم کدام اندازه را باید گوچک متوسط نرمال بزرگ یا خیلی بزرگ در نظر بگیریم. امیدوارم admin جواب برسونه. خیلی ممنونم
پاسخ

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

#6
دوستان، در صورت تمایل، 4 فایل xml مربوط به صفحه نمایش های با اندازه مختلف و همچنین عکس هایی که در کدهای xml ، به آنها ارجاع داده اید را پیوست کنید تا بررسی کنم.

دقت کنید که این 4 دسته بندی که در آن مبحث ذکر کردیم، برای 4 بازه مختلف است، نه برای 4 اندازه مختلف. یعنی وقتی مثلا برای دسته xlarge کد می نویسید، باز هم گوشی هایی که از نظر اندازه صفحه نمایش در این دسته قرار می گیرند، خود دارای اندازه های مختلف هستند. پس باید سعی کنیم که کدها را به گونه ای بنویسیم که حتی در دسته ها هم مشابه باشند و یا اگر مشابه نیستند، تفاوت به گونه ای باشد که به چشم نیاید (مثلا عنصرها وسط چین شده باشند).

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

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

#7
(۱۳۹۳/۰۶/۲۰, ۰۹:۵۰ ق.ظ)'admin' نوشته: دوستان، در صورت تمایل، 4 فایل xml مربوط به صفحه نمایش های با اندازه مختلف و همچنین عکس هایی که در کدهای xml ، به آنها ارجاع داده اید را پیوست کنید تا بررسی کنم.

دقت کنید که این 4 دسته بندی که در آن مبحث ذکر کردیم، برای 4 بازه مختلف است، نه برای 4 اندازه مختلف. یعنی وقتی مثلا برای دسته xlarge کد می نویسید، باز هم گوشی هایی که از نظر اندازه صفحه نمایش در این دسته قرار می گیرند، خود دارای اندازه های مختلف هستند. پس باید سعی کنیم که کدها را به گونه ای بنویسیم که حتی در دسته ها هم مشابه باشند و یا اگر مشابه نیستند، تفاوت به گونه ای باشد که به چشم نیاید (مثلا عنصرها وسط چین شده باشند).


 

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

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

#8
فکر نمیکنم مشکلمون با وسط چین کردن حل بشه چون هر دوتامون تعداد دکمه هامون کم نیست
نکنه باید هر دکمه رو که توی Drawable داریم با اندازه های مختلف توی پوشه های drwabl hd و  md و xhd  اینا بدیم؟؟؟
پاسخ

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

#9
قرار دادن عکس در پوشه های drawable مختلف، برای ((رزولوشن)) است، نه ((اندازه صفحه نمایش)).  من یکی از ارسال های قبلی که نوشته بودم رو تصحیح کردم (به اشتباه رزولوشن را هم ذکر کرده بودم).
یعنی ما عکس های با رزولوشن مختلف را در فولدرهای مختلف قرار می دهیم تا برای یک گوشی با رزولوشن بالا، عکس با رزولوشن بالاتری نمایش داده شود. اما در این مسئله، مثلا اگر تعیین کرده باشیم که عکس در پس زمینه ImageView نمایش داده شود، دیگر به موقعیت  ImageView بستگی دارد که با فایل های xml برای صفحه نمایش های با اندازه های مختلف مشخص کرده ایم.
در مواردی که تعیین کرده باشید که اندازه ImageView به اندازه خود محتوای آن (یعنی عکس) وابسته باشد، رزولوشن در نحوه قرارگیری ImageView تاثیر دارد، اما من خودم معمولا عکس را در پس زمینه ImageView قرار می دهم و یا اندازه  ImageView را به اندازه عکس وابسته نمی کنم.
در واقع، رزولوشن برای کیفیت مناسب عکس است و زیاد جالب نیست که نحوه قرارگیری عناصر مربوط به عکس را به گونه ای تعیین کنیم که رزولوشن در آنها تاثیرگذار باشد.
بنابراین بهتر است که یک جمع بندی در این زمینه داشته باشیم :

1- ابتدا در فولدرهای layout با نام های مختلف، فایل های xml جداگانه ای را برای ظاهر گرافیکی Activity در گوشی های با ((اندازه صفحه نمایش)) مختلف قرار می دهیم :

کد:
res/layout/layout.xml  
res/layout-small/layout.xml  
res/layout-large/layout.xml  
res/layout-xlarge/layout.xml  
res/layout-xlarge-land/layout.xml

سپس تک تک آنها را باز کرده و عناصر را مطابق میلمان می چینیم.
2- واحد dp را برای اندازه عناصر گرافیکی و واحد  sp  را برای متن به کار می بریم (واحد sp برای اندازه خود متن، نه برای اندازه TextView یا عناصری که حاوی متن هستند).
3- باید ببینیم که آیا اندازه عناصر گرافیکی موجود در لایه گرافیکی را به محتوایی که در آنها قرار می گیرد، وابسته کرده ایم یا خیر. مثلا آیا اندازه یک ImageView به عکسی که در آن قرار می گیرد وابسته است یا خیر. توصیه این است که چنین وابستگی ایجاد نکنیم (مثلا یک عکس را در پس زمینه ImageView یا Button قرار بدهیم)، اما اگر وابسته است، قرار دادن عکس با رزولوشن های مختلف، در پوشه های مختلف drawable که برای گوشی های اندروید با ((رزولوشن)) مختلف می باشند، کمک می کند که چندان ظاهر گرافیکی، در گوشی های با رزولوشن متفاوت، تغییر نکند (ولی باز هم می گویم که آنها را به رزولوشن وابسته نکنید) :

کد:
res/drawable-mdpi/icon.png
res/drawable-hdpi/icon.png
res/drawable-xhdpi/icon.png

نکته :
هر فایل xml که برای یک دسته از گوشی ها با ((اندازه صفحه نمایش)) مشخص به کار می بریم، در واقع برای یک دسته از گوشی ها است که اندازه صفحه نمایش آنها، در یک بازه مشخص قرار می گیرد (اندازه آنها دقیقا یکسان نیست). بنابراین بهتر است عناصر به گونه ای تعریف شوند که در همین بازه نیز تغییرات چندانی نداشته باشیم.

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

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط kousha.nikkar

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

#10
Wow استاد ادمین ترکوندی
منم همیشه توی Background میذارم
پس میرم امتحان کنم اگه درست شد با سپاس ویژه خدمتتون برسیم
اینجا دانشگاهیه واسه خودش

 
پاسخ
 سپاس شده توسط admin

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

#11
البته قرار دادن عکس در پس زمینه ImageView، تنها یک مورد پیشنهادی است (یک مورد تکمیلی) و معمولا با تعیین ویژگی های مناسب برای ImageView ، مشکلی نخواهید داشت.
در زمینه لایه گرافیکی، خیلی کم مبحث نوشته شده و باید در آینده، چند مبحث در این زمینه بنویسم.


 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

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

#12
درســـــــــــــت حدس زده بـــــــــــــودممم استـــــاد
مال Drawable بود ، من که مشکلم برطرف شد استاد ولی دوست دارم بدونم من که عکسا رو توی background گذاشته بودم پس چرا بازم به خود اندازه src بستگی داشت؟؟ اصلاً src رو هم خالی گذاشتم... چطوری مشه مستقلش کرد؟ یا اصلاً از اول مستقل ساخت؟
وای اصلاً از راهنماییاتون در پوست خودم نمیگنجم
 
پاسخ

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

#13
استاد این چیه>>>>>>> contentDescription
؟؟؟؟؟

 
پاسخ

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

#14
استـــــــاد ادمین به دادمون برس، من متوجه شدم که فقط اکتیویتی اصلی تنظیم شده درست اجرا میشه، پس تکلیف اکتیویتی های دیگه چی میشه؟؟؟ چرا اونا اکتیویتی مربوط رو فقط از layout Normall اجرا میکنن هنوز؟؟
مشکل از چیه آخه ای خــــــــــــــــدا
ما همچـــــنــان به مطالعه ادامه میدیـــــ ـ ـ ــم ،،،
پاسخ

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

#15
مگر برای لایه گرافیکی آن Activity ها هم فایل های xml دیگری درون سایر پوشه های layout نساخته اید ؟ این عمل را باید برای هر Activity به صورت جداگانه انجام بدهید.
--------------------------
در مورد background ، من خودم با مواردی برخورد داشتم که با این شیوه مشکل حل می شد (یک بار با animation سر و کار داشتم و با دیگر هم با GridView که item های به شکل ImageView داشت). اما همان طور که گفتم، یک مورد پیشنهادی است که باید در مواقع خاص (بستگی به کدها دارد) و به عنوان گزینه های آخر در نظر گرفته شود. نیازی نیست که تمام موارد ImageView را از Background استفاده کنیم.
--------------------------
در مورد contentDescription ، تنها باید یک متن که شامل توضیح مختصری برای عکس هست را برای آن تعیین کنید. البته فکر نمی کنم ازتون خطای جدی گرفته باشه (این مورد به صورت هشدار (warning) نمایش داده میشه). به هر حال، کدش در فایل xml ، به صورت زیر می باشد :

کد:
android:contentDescription="@string/desc"

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

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

#16
(۱۳۹۳/۰۶/۲۱, ۱۲:۱۲ ب.ظ)'mhdser' نوشته: admin عزیز و دوستان گرامی سلام
ضمن تشکر فایلهای xml رو به پیوست ارسال کردم. متاسفانه مشکلم حل نشد. امیدوارم بررسی کنید. برنامه من فقط هر چی توی layout یا layout-large تنظیم میشه نشان میده. در صورتی نیاز به فایلهای دیگر هست بفرمایید میفرستم. خیلی خیلی ممنونم
 

پوشه layout پروژه اندروید شما کاملا خالی است و هیچ فایل xml ای در آن نیست. همین مشکل بزرگیه چون شما عملا برای گوشی های با اندازه normal ، هیچ فایل xml ای در پروژتون قرار ندادین. 

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

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

#17
استاد ادمین حق با شماست ، منم همه اکتیویتی هام مطابق فرمایش شما تنظیم شده و پست قبلیم تنها توهم بود. زمانی که تنظیم میکردم ImageView ها تنظیم نمیشدن فقط ImageButton ها تنظیم میشن اونم اگر توی background باشن ، این مشکل عمومی هست یا فقط مربوط به پروژه من میشده؟؟
دلیل خاصی داره؟؟
پاسخ

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

#18
admin عزیز خیلی ممنون که بررسی کردید پوشه layout هر چی توش میذارم مبنای اجرا میشه همون. مثلا شما زحمت بکشید محتوای پوشه layout-large را داخلش کپی کنید مبنای اجرا میشه اون. البته موقع ارسال برای شما اونو خالی کردم تا از حجم فایل ارسالی کم بشه. اگر کدی هست که برنامه پس از اجرا بفهمه روی چه اندازه دستگاهی هست که بتونه به layout مورد نظر مراجعه کنه بفرمایید. خواهش میکنم دقیقتر بررسی کنید. متشکرم
 
پاسخ

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

#19
لطفا پست قبلی رو که خوندید به این نکته هم توجه کنید که من پس از راهنمایی شما که باید سه فولدر دیگر میساختم هر کدام از صفحات که حاوی دکمه بود را در پوشه های جدید کپی کردم و هر کدام با توجه به اندازه با استفاده از دکمه screen ها اقدام به تغییر اندازه صفحه سپس مرتب کردن صفحات کردم. مثلا برای layout-small گزینه 3.7 اینچ و برای large گزینه 5.1 اینچ و برای xlarge گزینه 10.1 اینچ تا تونستم چیدمان ها رو انجام بدم. ولی خروجی همیشه اونی که توی layout هست میبینه من اون رو روی چند تنظیم کنم؟؟؟ اگر روشم کلا غلطه خواهش میکنم شما admin عزیز یا دوستان دیگر راهنمایی کنند. خیلی ممنونم 
پاسخ

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

#20
جناب mhdser من اگه بخوام از تجربم بگم اینطور مینویسم که ابتدا تمام گرافیک ها رو از Properties در Background تصویر قرار دادم و سه پوشه ی Layout large و Layout small و Layout xlarge  رو ساختم (البته با همون نامی که ادمین آموزش دادن) بعد همه فایل های xml رو که در layout بود رو کپی کردم در داخل تمام پوشه هایی که عرض کردم و مشغول به تنظیم در هر کدام شدم در ضمن برای من رزولوشن های پوشه های Drawable هم کار ساز شد، اگر تا اینجا مشکلی نداشتید و ندارید احساس میکنم که تنظیمات تخصصی Layout به خاطر پاک شدن به هم خورده باشه ، من اگر جای شما بودم چون حرفه ای نیستم پروژه جدیدی ایجاد میکردم و با چنتا کپی کردن پروژه رو باز سازی میکردم و دوباره یه امتحانی میکردم،
(بعضی مواقع واقعاً ریست کردن جواب میده)
پیشنهاد غیر مهندسی هست اما فکر میکنم بد هم نیست
اگر لطف کنید بگید از کجا اندازه ها رو برای large و  small و... تغییر میدید ممنون هم میشم
با عرض پوزش از اساتید (ادمین و ...)
قصدم فقط بیان یک تجربه ساده بود
پاسخ
 سپاس شده توسط admin ، mhdser

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

#21
(۱۳۹۳/۰۶/۲۱, ۱۰:۰۱ ب.ظ)'mhdser' نوشته: admin عزیز خیلی ممنون که بررسی کردید پوشه layout هر چی توش میذارم مبنای اجرا میشه همون. مثلا شما زحمت بکشید محتوای پوشه layout-large را داخلش کپی کنید مبنای اجرا میشه اون. البته موقع ارسال برای شما اونو خالی کردم تا از حجم فایل ارسالی کم بشه. اگر کدی هست که برنامه پس از اجرا بفهمه روی چه اندازه دستگاهی هست که بتونه به layout مورد نظر مراجعه کنه بفرمایید. خواهش میکنم دقیقتر بررسی کنید. متشکرم
 

این یک ابهام است که برای شما به وجود آمده. 
چنین چیزی وجود ندارد. وقتی برنامه اندروید بر روی یک گوشی نصب می شود، اطلاعات گوشی را دریافت می کند و بر حسب اندازه صفحه نمایش گوشی، از یکی از پوشه های layout ، فایل های xml را می خواند. مثلا اگر گوشی در دسته small قرار بگیرد، ابتدا چک می کند که آیا فایل xml ای با نام مورد نظر، در پوشه layout-small وجود دارد یا خیر. اگر وجود داشت که آن را نمایش می دهد، اما اگر وجود نداشته باشد، فایل را از پوشه layout می خواند.
اول ببینید چطور دارید برنامه اندروید را بر روی گوشی های مختلف چک می کنید. شما این رو نگفتید. 
در ضمن، اینکه اعدادی بر حسب اینچ رو ذکر کردید، نمی دونم مربوط به virtual device است یا خیر، ولی در پروژه اندروید، موردی نیست که قرار باشد بر حسب اینچ تعیین کنیم. در ضمن، بنده از  virtual device  استفاده نمی کنم چون زیادی آهسته هست. من معمولا از گوشی اندروید واقعی یا برنامه شبیه ساز youwave android استفاده می کنم.

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

   

 چیدمان صفحه برای گوشی های small : 

   

 چیدمان صفحه برای گوشی های large : 

   

 چیدمان صفحه برای گوشی های xlarge : 

   

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

نتیجه اجرای برنامه بر روی یک گوشی واقعی در دسته normal :

   

 نتیجه اجرای برنامه بر روی یک گوشی واقعی در دسته small : 

   

اگر به عبارت های نوشته شده در دکمه ها نگاه کنید (یکی نوشته منابع و دیگری نوشته زندگینامه)، مشاهده می کنید که هر دو به درستی نمایش داده شده اند.



فایل‌های پیوست

دانلود Kelidestan.com_2.zip

نام فایل Kelidestan.com_2.zip
نوع فایل .zip
دفعات دانلود 461
اندازه 4.29 MB
ارسال کننده فایل admin
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط kousha.nikkar ، mhdser

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

#22
سلام بر admin عزیز و دوستان گرامی مخصوصا kousha.nikkar محترم. جدا از راهنمایی و زحمات شما بسیار سپاسگزارم. راهنمایی بسیار عالی و مبسوطی کردید.
پاسخ
 سپاس شده توسط admin ، kousha.nikkar

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

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

 
پاسخ
 سپاس شده توسط admin

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

#24
(۱۳۹۴/۰۲/۲۳, ۰۲:۱۷ ب.ظ)'saeedfozol' نوشته: سلام ادمین عزیز
خیلی ممنون که با صبر و تحمل و بدون هیچ چشم داشتی مشکلات تک تک کاربرا رو بررسی میکنید.
مشکل منم تو اینه که رو شبیه ساز برا تمام سایز ها چیدمان درسته ولی رو گوشی نصب میکنم به هم میریزه.لطفا کمک کنید 
 

سلام.
ممنون. 
توصیه ها در حد همان مواردی است که در مباحث مورد نظر شرح دادیم (کلیدهای مرتبط را در همین موضوع ذکر کردیم). برای مواردی که خیلی حساس به اندازه صفحه نمایش هستند، می توان اندازه صفحه نمایش را به دست آورد و اندازه عناصر را به صورت درصدی از آن تعیین نمود. در این مورد، موضوع زیر را بخوانید :

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

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

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط saeedfozol


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)