رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

واحد های اندازه گیری در layout ها


پست های پیشنهاد شده

سلام دوستان

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

چطوری میشه به  یک عکس ، اندازه ای بدیم که نسبت به اندازه صفحه نمایش تغیر کنه. مثلا من 5 تا عکس دارم.

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

تا اونجایی که اطلاع دارم ، نمیشه مثل چ تی ام ال اندازه هارو به صورت درصدی وارد کرد.

از دو تا واحد dp و  dip هم استفاده کردم. اما نشد.

ممنون میشم راهنمایی کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

داخل layout اصلی چندین layout مختلف اونطوری که میخواید قرار بدید !

داخل اون لیوتها imageview که میخواید رو بذارید طول و عرضشون رو بذار روی match_parent

موفق باشید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

داخل layout اصلی چندین layout مختلف اونطوری که میخواید قرار بدید !

داخل اون لیوتها imageview که میخواید رو بذارید طول و عرضشون رو بذار روی match_parent

موفق باشید.

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

لایه اولی رو از چه نوعی بزارم ؟ و اون پنج تارو از چه نوعی ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

با این روشی که اینجا میگم هر عکس دقیقا بیست درصد فضا رو اشغال میکنه.

اگر قراره چیزی شبیه پیانو داشته باشیم یعنی :

ارتفاع همه عکس ها تمام صفحه رو بپوشونه => خاصیت height تمام عکس هارو میزارید fill_parent

عرض همه عکس ها بیست درصد صفحه نمایش باشه => خاصیت width تمام عکس هارو میزارید 1dp  و  خاصیت weight تمام عکس هارو میزارید 0.2

فرقی نداره سایز اصلی تصویر شما چند پیکس در چند پیکسله یا اینکه scaleType رو در چه حالتی قرار دادید

البته میتونید به جای عکس از لایوت ، تکست ویو ... هم استفاده کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

چند تا راه دارهولی نه دقیقا اینطوری که میخوای

ولی طوری میشه که توی هر محدوده ی اندازه ی صفحه لی اوت مرتبط به همون رو نشون میده

یکی از راه ها ساخت چند تا پوشه ی مختلف با نام های 

layout-large

layout-small

layout-normal

layout-xlarge

و کل لایه ها رو کپی کنی توش 

و ویرایششون کنی 

راه زمانبر و سنتی یه

ولی شاید با فرگمنت کارت راحت تر باشه

یه سرچ کنی پیدا میکنی جوابتو

:)

یه ویدئو در همین مورد برای استفاده از فرگمنت برای نمایش در اسکرین های مختلف

پیداش کن یه نگاهش بکن

هنوز خودم فرصت نکردم ببینم چجوریه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

روش استاندارد برای این کار استفاده از LinearLayout هست، مثال زیر رو ببین:

[shcode=xml]       

            android:orientation="horizontal"

            android:layout_width="match_parent"

            android:layout_height="match_parent"

            android:columnCount="3">

           

                android:layout_width="0dp"

                android:layout_height="40dp"

                android:text="دکمه 1"

                android:id="@+id/btn1"

                android:layout_weight="2" />

           

                android:layout_width="0dp"

                android:layout_height="40dp"

                android:text="دکمه 2"

                android:id="@+id/btn2"

                android:layout_weight="1" />

       

[/shcode]

به خصوصیت columnCount تگ LinearLayout توجه کن ، تعداد ستونها رو مشخص میکنه، و خصوصیت layout_weight دکمه مشخص میکنه که هر دکمه چه تعداد از ستون LinearLayout رو بر میداره، تو این مثال دکمه اول 66 درصد کنترل LinearLayoutرو پر میکنه ، و دکمه دوم 33 درصد باقی مونده رو.

یه نکته مهم دیگه اینکه خصوصت layout_width دکمه ها باید 0dp باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

با این روشی که اینجا میگم هر عکس دقیقا بیست درصد فضا رو اشغال میکنه.

اگر قراره چیزی شبیه پیانو داشته باشیم یعنی :

ارتفاع همه عکس ها تمام صفحه رو بپوشونه => خاصیت height تمام عکس هارو میزارید fill_parent

عرض همه عکس ها بیست درصد صفحه نمایش باشه => خاصیت width تمام عکس هارو میزارید 1dp  و  خاصیت weight تمام عکس هارو میزارید 0.2

فرقی نداره سایز اصلی تصویر شما چند پیکس در چند پیکسله یا اینکه scaleType رو در چه حالتی قرار دادید

البته میتونید به جای عکس از لایوت ، تکست ویو ...  هم استفاده کنید

سلام دوست عزیز

ممنو نبابت پاسختون

فقط یه موردی ، من توی Properties عکس ها اصلا کلمه ی weight پیدا نکردم :| هیچی نیست .

همین تیکه هم راهنمایی کنید ، حل میشه :D


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

سلام

 از راهنماییتون ممنونم ، ولی اگه صفحه های ثابت بودند خودم میکردم این کارو :| .

مشکل متغیر بودن اندازه صفحات نمایشه


چند تا راه دارهولی نه دقیقا اینطوری که میخوای

ولی طوری میشه که توی هر محدوده ی اندازه ی صفحه لی اوت مرتبط به همون رو نشون میده

یکی از راه ها ساخت چند تا پوشه ی مختلف با نام های 

layout-large

layout-small

layout-normal

layout-xlarge

و کل لایه ها رو کپی کنی توش 

و ویرایششون کنی 

راه زمانبر و سنتی یه

ولی شاید با فرگمنت کارت راحت تر باشه

یه سرچ کنی پیدا میکنی جوابتو

:)

یه ویدئو در همین مورد برای استفاده از فرگمنت برای نمایش در اسکرین های مختلف

پیداش کن یه نگاهش بکن

هنوز خودم فرصت نکردم ببینم چجوریه

روش خوبی به نظر میاد :S ولی فکر نمیکنم برای چند تا عکس کار مناسبی باشه.

ممنون که وقت گذاشتید و راهنمایی کردید.


روش استاندارد برای این کار استفاده از LinearLayout هست، مثال زیر رو ببین:

[shcode=xml]       

            android:orientation="horizontal"

            android:layout_width="match_parent"

            android:layout_height="match_parent"

            android:columnCount="3">

           

                android:layout_width="0dp"

                android:layout_height="40dp"

                android:text="دکمه 1"

                android:id="@+id/btn1"

                android:layout_weight="2" />

           

                android:layout_width="0dp"

                android:layout_height="40dp"

                android:text="دکمه 2"

                android:id="@+id/btn2"

                android:layout_weight="1" />

       

[/shcode]

به خصوصیت columnCount تگ LinearLayout توجه کن ، تعداد ستونها رو مشخص میکنه، و خصوصیت layout_weight دکمه مشخص میکنه که هر دکمه چه تعداد از ستون LinearLayout رو بر میداره، تو این مثال دکمه اول 66 درصد کنترل LinearLayoutرو پر میکنه ، و دکمه دوم 33 درصد باقی مونده رو.

یه نکته مهم دیگه اینکه خصوصت layout_width دکمه ها باید 0dp باشه

سلام

روش عالی ای بود :)

ممنونم

لینک ارسال
به اشتراک گذاری در سایت های دیگر
روش خوبی به نظر میاد confused.gif ولی فکر نمیکنم برای چند تا عکس کار مناسبی باشه. 

ممنون که وقت گذاشتید و راهنمایی کردید.

گاهی مجبور میشی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...