lichard

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

10 ارسال در این موضوع قرار دارد

سلام دوستان

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

چطوری میشه به  یک عکس ، اندازه ای بدیم که نسبت به اندازه صفحه نمایش تغیر کنه. مثلا من 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 سایز بدی. کد تشخیص سایز گوشی تو این تاپیکه: تشخیص سایز گوشی

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری