مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش لایه بندی UI در برنامه نویسی اندروید و چند مثال


Layout به معنی طرح و به عنوان لایه ای برای نمایش عناصر و View ها (شامل ویجت (Widget) ، فیلدهای متنی و …) به کار می رود. (برای مشاهده انواع Layout های اندروید، یک پروژه جدید ایجاد کنید .از آنجایی که Layout ، مربوط به بخش نمایشی اپلیکیشن مربوط می شود، در فولدر res به دنبال فولدر layout  می گردیم.)

بلوک پایه ای برای رابط کاربری (interface) ، شی View است که از کلاس View ایجاد شده است و منطقه مستطیلی را روی صفحه اشغال می کند و مسئول طراحی و مدیریت رویداد است.

ViewGroup یک زیر کلاس (کلاس فرعی) از View است و یک محفظه نامرئی را ایجاد می کند که سایر View ها یا ViewGroups ها را نگه می دارد و ویژگی های layout  آنها را تعریف می کند.

در سطح سوم ما layout  های مختلفی داریم که زیر کلاس های کلاس ViewGroup هستند و یک layout  نمونه، ساختار ظاهری و بصری یک واسط کاربری اندرویدی را تعریف می کند و می تواند یا در زمان اجرا با استفاده از اشیا View/ViewGroup ایجاد شود و یا شما می توانید layout  خود را با استفاده از فایل XML، main_layout.xml که در پوشه­ ی res/layout پروژه تان قرار دارد، مشخص کنید.

این مقاله آموزشی  بیشتر بر مبنای ایجاد واسط گرافیکی کاربری تان بر اساس layout  های تعریف شده در فایل XML است. یک صفحه بندی (layout) می تواند شامل هر نوع ویجتی مانند دکمه ها، برچسب ها (label)، کادر های متنی (textbox ها) و غیره باشد. بخش زیر یک مثال ساده از فایل XML ای است که دارای LinearLayout (صفحه بندی خطی) است.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   
   <TextView android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="This is a TextView" />
      
   <Button android:id="@+id/button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="This is a Button" />
      
   <!-- More GUI components go here  -->
   
</LinearLayout>

 

پس از تعریف layout، همان طور که در پایین نشان داده شده است، می توانید منبع layout را پس از پیاده سازی ()Activity.onCreate  در اپلیکیشن خود بارگذاری کنید.

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
}

 

انواع layout در برنامه نویسی اندروید :

تعدادی Layout به وسیله­ ی خود اندروید ایجاد شده اند که شما تقریبا از آن ها در تمام اپلیکیشن های اندرویدی برای ایجاد view های مختلف استفاده می کنید.

 LinearLayout : یک گروه view است که view های فرزند را در یک جهت واحد (افقی یا عمودی) ردیف می کند.

 RelativeLayout : یک گروه view است که view های فرزند را در مکان های مربوطه نمایش می دهد.

 Layout :  TableLayout ای است که view های فرزند را در سطر ها و ستون ها گروه بندی می کند.

 AbsoluteLayout : شما را قادر می سازد که مکان دقیق فرزندان آن را تعیین کنید.

 FrameLayout : مکانی بر روی صفحه است که شما می توانید از آن برای نمایش یک view واحد، استفاده کنید.

List View : یک گروه view است که لیستی از آیتم های قابل اسکرول کردن را نمایش می دهد.

Grid View : یک گروه view (ViewGroup) است که آیتم ها را در یک صفحه (grid) دو بعدی قابل اسکرول کردن نمایش می دهد.

 

اتریبیوت های layout : 

هر Layout دارای مجموعه ای از اتریبیوت هاست که خصوصیات ظاهری آن Layout را تعریف می کنند. تعدادی اتریبیوت های مشترک در بین تمام Layout ها وجود دارد و اتریبیوت های دیگری نیز وجود دارد که مختص هر layout است. در ادامه تعدادی از اتریبیوت های مشترکی که برای تمام Layout ها به کار می روند لیست شده اند.

android:id
شناسه ای است که به صورت منحصر به فرد view را مشخص می کند.

android:layout_width
عرض Layout را مشخص می کند.

android:layout_height
ارتفاع Layout را مشخص می کند.

android:layout_marginTop
نشان دهنده­ ی فضای اضافی در قسمت بالای Layout است.

android:layout_marginBottom
نشان دهنده­ ی فضای اضافی در قسمت پایین Layout است.

android:layout_marginLeft
نشان دهنده ­ی فضای اضافی در سمت چپ Layout است.

android:layout_marginRight
نشان دهنده­ ی فضای اضافی در سمت راست Layout است.

android:layout_gravity
نحوه قرارگیری view های فرزند را تعیین می کند.

android:layout_weight
تعیین میکند که چه مقدار فضای اضافی در Layout باید به view اختصاص داده شود.

android:layout_x
مختصاتِ x مربوط به Layout را مشخص می کند.

android:layout_y
مختصات y مربوط به Layout را مشخص می کند.

android:paddingLeft
مختصاتِ نشان دهنده ­ی حاشیه داخلی سمت چپ Layout است

android:paddingRight
مختصاتِ نشان دهنده­ ی حاشیه داخلی سمت راست Layout است

android:paddingTop
نشان دهنده­ ی حاشیه داخلی بالای Layout است.

android:paddingBottom
نشان دهنده­ ی حاشیه داخلی پایین Layout است.

 

در اینجا عرض و ارتفاع ، ابعاد layout/view هستند که می توانند بر حسب dp (پیکسل های مستقل از تراکم)، sp (پیکسل های مستقل از مقیاس)، pt (نقاطی که به اندازه 1/72 ام، از یک اینچ هستند)، px (پیکسل ها)، mm(میلیمتر) و نهایتا بر حسب (اینچ) بیان شوند.

شما می توانید عرض و ارتفاع را با اندازه گیری دقیق مشخص کنید، ولی اغلب از یکی از این ثوابت برای تنظیم عرض یا ارتفاع استفاده می شود.

  • android:layout_width=wrap_content : به view شما می گوید که سایز خودش را با ابعاد مورد نیاز به وسیله­ ی محتوای آن تطبیق دهد.
  • android:layout_width=fill_parent: به view شما می گوید که به بزرگی view والد خود شود.

ویژگی Gravity نقش مهمی را در تعیین مکان شی view بازی می کند و می تواند یک یا تعداد بیشتری از ثابت های زیر را (که به وسیله­ ی "|" از هم جدا می شوند) بگیرد.

ثابت Top : مقدار 0x30 : شی را بدون تغییر سایز به بالای محفظه [1] آن می برد.

ثابت bottom : مقدار 0x50 : شی را بدون تغییر سایز به پایین محفظه آن می برد.

ثابت left : مقدار 0x03 : شی را بدون تغییر سایز به سمت چپ محفظه آن می برد.

ثابت right : مقدار 0x05 : شی را بدون تغییر سایز به سمت راست محفظه آن می برد.

ثابت center_vertical : مقدار 0x10 : شی را در مرکز عمودی محفظه آن قرار می دهد.

ثابت fill_vertical : مقدار 0x70 : در صورت نیاز ، سایز عمودی شی را افزایش می دهد طوری که شی کاملا محفظه اش را پر کند.

ثابت center_horizontal : مقدار 0x01 : شی را بدون تغییر سایز در مرکز عمودی محفظه آن قرار می دهد.

ثابت fill_horizontal : مقدار 0x07 : در صورت نیاز ، سایز افقی شی را افزایش میدهد طوریکه شی کاملا محفظه اش را پر کند.

ثابت center : مقدار 0x11 : شی را بدون تغییر سایز در هر دو جهت محورهای عمودی و افقی در مرکز محفظه قرار می دهد.

ثابت fill : مقدار 0x77 : در صورت نیاز سایز افقی و عمودی شی را طوری افزایش می دهد که شی کاملا محفظه اش را بپوشاند.

ثابت clip_vertical : مقدار 0x80 : یک گزینه اضافی که می تواند برای داشتن لبه بالایی و / یا لبه پایینی شی فرزند که با توجه به مرز های محفظه برش می خورد، به کار برود. برش لبه ها بر مبنای مرکز ثقل عمودی خواهد بود. یک مرکز ثقل بالا لبه­ ی پایینی را قطع می کند. و یک مرکز ثقل پایین، لبه­ بالایی را قطع می کند و هیچ یک از این دو، هر دو لبه را با هم قطع نمی کنند.

ثابت clip_horizontal : مقدار 0x08 : یک گزینه اضافی که می تواند برای داشتن لبه بالایی و / یا لبه پایینی شی فرزند که با توجه به مرزهای محفظه برش می خورد، به کار برود. برش لبه ها بر مبنای مرکز ثقل افقی خواهد بود. یک مرکز ثقل سمت چپ لبه­ ی سمت راست را قطع می کند. و یک مرکز ثقل سمت راست، لبه ­ی سمت چپ را قطع می کند و هیچ یک از این دو، هر دو لبه را با هم قطع نمی کنند.

ثابت start : مقدار 0x00800003 : شی را بدون تغییر سایز به ابتدای محفظه آن می برد.

ثابت end : مقدار 0x00800005 : شی را بدون تغییر سایز به انتهای محفظه آن می برد.

 

در ادامه توصیف مختصری از علامت های @ و + ارائه شده است :

android:id="@+id/my_button"

نماد (at) @ در آغاز یک رشته نشان دهنده­ ی این است که تجزیه کننده ­ی XML باید باقی مانده­ ی رشته ID را بسط داده و تجزیه کند و آن را به عنوان یک شناسه­ ی منبع (ID) استفاده کند.

نماد جمع (+) به این معناست که این رشته یک نام منبع جدید است که باید ایجاد شده و به منابع ما اضافه شود. برای ایجاد نمونه ای از شی view و گرفتن آن layout از دستور زیر استفاده کنید.

Button myButton = (Button) findViewById(R.id.my_button);

 

فصلِ: 20 , تعداد قسمت ها: 238 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل رایگان مربوط به مفاهیم php و api نویسی …

توضیحات کلی مجموعه: دوره متخصص اندروید کلیک سایت کامل ترین دوره جامع برنامه نویسی اندروید(حتما دمو دوره را ببینید)   چرا دوره متخصص جایگزین دوره صفرتاصد اندروید شد؟ کلیک سایت تصمیم گرفت …
فصلِ: 30 , تعداد قسمت ها: 182 , سطح: صفر تا صد

این فصل در یک نگاه:

آموزش ساخت اپلیکیشن علی بابا-آموزش کالبک ها-…

دوره "متخصص" جایگزین دوره صفرتاصد اندروید شد. برای دیدن دوره متخصص اندروید بر روی لینک زیر کلیک کنید : https://b2n.ir/d36082 چرا دوره متخصص جایگزین دوره صفرتاصد شده است؟چرا باید دوره متخص…
فصلِ: 11 , تعداد قسمت ها: 121 , سطح: صفر تا صد

این فصل در یک نگاه:

عملیات شبیه فیلتر-ساخت الرت دیالوگ وچیدمان براساس فروش-مرتب سازی-نحوه خطایابی-استفاده از bottom sheet در اندروید-سبد خری…

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

این فصل در یک نگاه:

در این دوره آموزشی ، برنامه نویسی اندروید و ios را با استفاده از زامارین خواهیم آموخت. همچنین به صورت کاملا پروژه محور ، اپلیکیشن فروشگاهی مشابه دیجی کالا را پیاده سازی خواهیم کرد. در انته…
فصلِ: 2 , تعداد قسمت ها: 58 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: سرفصل های دوره آموزش ساخت اپلیکیشن فیلیمو معرفی اهداف دوره مقدمه و بررسی پیش نیازهای دوره بررسی جزئی و …
فصلِ: 1 , تعداد قسمت ها: 9 , سطح: صفر تا صد

این فصل در یک نگاه:

آموزش ساخت api key-آموزش استفاده از GPS گوشی ونمایش مکان شخص برروی نقشه-متصل کردن چند نقطه برروی نقشه با خط-رسم چند ضلعی…

حتما دمو دوره رو ببینید اولین دوره کامل کار با نقشه گوگل ومسیریابی در نقشه گوگل(این اموزش مشابه فارسی ندارد) اموزش کار با نقشه گوگل در برنامه نویسی اندروید یکی از مهم ترین مباحث هست که …
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: صفر تا صد

این فصل در یک نگاه:

ساخت انواع نوتیفیکیشن ها -کار با وب سرویس پوشه-ارسال نوتیفیکیشن با سرویس پوشه-ارسال نوتیفیکیشن با one signal-اموزش کار ب…

با این مجموعه همه چیز در مورد نوتیفیکیشن و فایربیس رو خواهید اموخت یکی از مواردی که در استخدام کاربران در شرکت های برنامه نویسی بسیار موثر هست مبحث کار با firebase هست که ما دراین دوره ام…
فصلِ: 1 , تعداد قسمت ها: 16 , سطح: صفر تا صد

این فصل در یک نگاه:

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

توضیحات کلی مجموعه: اموزش ساخت یک موزیک پلیر و ویدیو پلیر ح رفه ای که کاملا کاربردی است و قابلیت نصب روی گوشی های مختلف را دارد از جمله امکانات این اپلیکیشن: لیست کردن فایل های صوتی وید…
فصلِ: 1 , تعداد قسمت ها: 61 , سطح: صفر تا صد

این فصل در یک نگاه:

اموزش ساخت اپلیکیشن کافه بازار-اشتراک گذاری اپلیکیشن-کار با رتروفیت-کاربا ران تیم پرمیشن- کار با فرگمنت ها-کار با sqlite…

دوره "متخصص" جایگزین دوره های اندروید شد. برای دیدن دوره متخصص اندروید بر روی لینک زیر کلیک کنید : https://b2n.ir/d36082 چرا دوره متخصص جایگزین دیگر دوره های اندروید شده است؟چرا باید دو…
فصلِ: 1 , تعداد قسمت ها: 9 , سطح: صفر تا صد

این فصل در یک نگاه:

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

دوره "متخصص" جایگزین دوره های اندروید شد. برای دیدن دوره متخصص اندروید بر روی لینک زیر کلیک کنید : https://b2n.ir/d36082 چرا دوره متخصص جایگزین دیگر دوره های اندروید شده است؟چرا باید دوره…
فصلِ: 1 , تعداد قسمت ها: 20 , سطح: صفر تا صد

این فصل در یک نگاه:

آموزش کامل پیکربندی mvp-اموزش اتصال با سرور با رتروفیت و rxjava-اموزش کار با دیتابیس-آموزش کار با bottom navigation-اموز…

دوره "متخصص" جایگزین دوره های اندروید شد. برای دیدن دوره متخصص اندروید بر روی لینک زیر کلیک کنید : https://b2n.ir/d36082 چرا دوره متخصص جایگزین دیگر دوره های اندروید شده است؟چرا باید دوره…
فصلِ: 1 , تعداد قسمت ها: 35 , سطح: متوسط

این فصل در یک نگاه:

این آموزش در یک فصل شامل 35 جلسه آموزش تصویری به همراه سورس کد ارائه شده است.…

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

این فصل در یک نگاه:

آموزش ارسال پیامک با سامانه مدیر پیامک-ارسال کد فعال سازی برنامه با پیامک-اعتبارسنجی کد فعال سازی-ثبت نام در اپلیکیشن با…

دوره "متخصص" جایگزین دوره های اندروید شد. برای دیدن دوره متخصص اندروید بر روی لینک زیر کلیک کنید : https://b2n.ir/d36082 چرا دوره متخصص جایگزین دیگر دوره های اندروید شده است؟چرا باید دوره…
فصلِ: 2 , تعداد قسمت ها: 19 , سطح: صفر تا صد

این فصل در یک نگاه:

آموزش ارسال توکن در اندروید -اموزش امنیت در برنامه نویسی اندروید-اموزش ارسال توکن در هدر در اندروید-اموزش ساخت token -ام…

توضیحات کلی مجموعه: دموی دوره را حتما ببینید دوره امنیت و دیزاین پترن در برنامه نویسی اندروید که شامل دو فصل هست. فصل اول شامل اموزش singletone design patern-builder design patern-command …
فصلِ: 2 , تعداد قسمت ها: 44 , سطح: صفر تا صد

این فصل در یک نگاه:

در فصل دوم این دوره بیشتر میپردازیم به کار با کتابخانه ها و موارد پیشرفته تر مانند دوربین ، ضبط صدا، دیتا بیس ، و .....…

توضیحات کلی مجموعه: سلام خدمت کلیک سایتی های عزیز مجموعه آموزشی صفر تا صد برنامه نویسی اندروید در محیط بیسیک 4 اندروید (basic 4 android) معرفی محیط بیسیک 4 اندروید محیط b4a  تحت کمپانی A…
فصلِ: 3 , تعداد قسمت ها: 61 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل جدید و اپدیت های جدید-آموزش کار با برودکست ریسیور در کاتلین-آموزش چک کردن اتصال به اینترنت در کاتلین-اموزش اپلود کرد…

دوره "متخصص" جایگزین دوره های اندروید شد. برای دیدن دوره متخصص اندروید بر روی لینک زیر کلیک کنید : https://b2n.ir/d36082 چرا دوره متخصص جایگزین دیگر دوره های اندروید شده است؟چرا باید دوره…
فصلِ: 5 , تعداد قسمت ها: 21 , سطح: متوسط

این فصل در یک نگاه:

نحوه ارورگیری-رفع ایراد-رفع مشکل-اشتراک گذاری مطالب-ساخت اکتیویتی تنظیمات-اشتراک گذاری مطالب-جستجو کردن…

دوره "متخصص" جایگزین دوره های اندروید شد. برای دیدن دوره متخصص اندروید بر روی لینک زیر کلیک کنید : https://b2n.ir/d36082 چرا دوره متخصص جایگزین دیگر دوره های اندروید شده است؟چرا باید دوره…
فصلِ: 5 , تعداد قسمت ها: 128 , سطح: صفر تا صد

این فصل در یک نگاه:

پرداخت درون برنامه ای بازار با کاتلین…

دوره "متخصص" جایگزین دوره های اندروید شد. برای دیدن دوره متخصص اندروید بر روی لینک زیر کلیک کنید : https://b2n.ir/d36082 چرا دوره متخصص جایگزین دیگر دوره های اندروید شده است؟چرا باید دوره…
فصلِ: 8 , تعداد قسمت ها: 62 , سطح: صفر تا صد

این فصل در یک نگاه:

اپلود تصاویر روی سرور نود جی اس-کار با کانال در چت- ساخت کانال-ساخت گروه-تفاوت کانال و گروه-انلاین بودن-ارسال تصاویر در …

  توضیحات کلی مجموعه آموزش اندروید اپلیکیشن چت مشابه تلگرام( با استفاده از Socket IO ): دموی مجموعه را حتما ببینید دراین دوره سعی میشود بسیاری از اپشن هایی که اپلیکیشن موبوگرام داراست ر…
فصلِ: 6 , تعداد قسمت ها: 194 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل آپدیت های مربوط به دوره را قرار میدهیم…

با سلام و خسته نباشد خدمت کلیک سایتی های عزیز در ادامه با توضیحات مختصری درمورد دوره ی react native با ما همراه باشید: React Native چیست؟ قطعا یکی از آرزوهای برنامه نویسان این میباشد که ب…

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید