که این هم از خاصیت LinearLayout افقی هست.
خب linearlayout عمودی کاربرد بیشتری دارد. Layout را برگردانید به این حالت و سه تا دکمه در صفحه بگذارید. میخوایم با یک سری خاصیت این layout اشنا شوید.
قبل از هرچیز به این خط نگاه کنید:
xmlns:android="http://schemas.android.com/apk/res/android"
خب linearlayout عمودی کاربرد بیشتری دارد. Layout را برگردانید به این حالت و سه تا دکمه در صفحه بگذارید. میخوایم با یک سری خاصیت این layout اشنا شوید.
قبل از هرچیز به این خط نگاه کنید:
xmlns:android="http://schemas.android.com/apk/res/android"
حواستون باشه همیشه layout اصلی صفحه شما یعنی اولین layout باید این صفت را داشته باشد.
یکی از دکمه های خود را انتخاب کنید. مثلا میخواهیم داخل کد بگیم که دکمه وسط راستای عمودی قرار بگیرد. این صفت را به آن اضافه میکنیم:
android:layout_gravity="center"
که همین gravity میتونه به سمت راست یا چپ صفحه هم تعلق بگیره.
یعنی right یا left
android:layout_gravity="center"
که همین gravity میتونه به سمت راست یا چپ صفحه هم تعلق بگیره.
یعنی right یا left
Relative Layout
این Layout کاربرد بسیار زیادی دارد و خیلی مهم هست. ابزارهایی که گذاشتید را پاک کنید. وارد Text بشوید و layout خود را به RelativeLayout تغییر بدید
این Layout کاربرد بسیار زیادی دارد و خیلی مهم هست. ابزارهایی که گذاشتید را پاک کنید. وارد Text بشوید و layout خود را به RelativeLayout تغییر بدید
حالا به بخش دیزاین بروید و سعی کنید دکمه ای را در صفحه Drag کنید. حالا میبینید که هرجایی میتوانید بگذارید ابزارهایتان را.
حالا با attribute های مخصوص این layout اشنا میشویم. به بخش Text برگردید. مثلا اگر بخواهم دکمه اولی بالای layout و در وسط قراربگیرد طبق زیر کدش را میزنیم:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NewButton"
android:id="@+id/button"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NewButton"
android:id="@+id/button"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
/>
پس هروقت بخواهیم ابزارمان به یکی از لبه های بالا، پایین، راست یا چپ RelativeLayout امون بچسبد از یکی ازدستورات زیر استفاده میکنیم! :
layout_alignParentTop,
layout_alignParentBottom
layout_alignParentRight,
layout_alignParentLeft,
layout_alignParentBottom
layout_alignParentRight,
layout_alignParentLeft,
گر بخواهیم ابزارمان وسط راستای عمودی یا افقی که قرار دارد بیفتد، یا اینکه کاملا وسط RelativeLayout امان قرار بگیرد از یکی از صفتهای زیر استفاده میکنیم و آن را برابر true قرار میدهیم
layout_centerVertical,
layout_centerHorizontal,
layout_centerInParent
layout_centerHorizontal,
layout_centerInParent
که البته حواسمان باید باشد بعضی از این صفتها باهم تداخل دارن مثلا اگر بگید layout_alignParentTop,
بعد از آن با استفاده از layout_centerInParent نمیتوانید ابزارتان را وسط layout بیارید. چون نمی شود ابزار هم به بالای layout قفل شده هم وسط آن قرار بگیرد.
بعد از آن با استفاده از layout_centerInParent نمیتوانید ابزارتان را وسط layout بیارید. چون نمی شود ابزار هم به بالای layout قفل شده هم وسط آن قرار بگیرد.
خاصیت بعدی RelativeLayout این است که با استفاده از آن میتوانید ابزارها را نسبت به هم مکان¬دهی بکنید. یعنی مثلا بگید دکمه1 سمت راست دکمه2 قرار بگیرد. این برای دیزاین نرم¬افزار خیلی کاربردی هست چون که اگر برای مکان دادن به ابزارها از مختصات یا فاصله دادن های عددی مثلا بخواهید استفاده کنید خب داخل گوشی¬های مختلف دیزاینت شما بهم میخورد.
اما با دادن رابطه نسبی بین ابزارها میتوانید یک چیدمان ثابت در گوشی¬های موبایل با ابعاد مختلف داشته باشید.
به این ترتیب برای نسبت دادن موقعیت یک ابزار نسبت به ابزار دیگر از موارد زیر استفاده میشود
به این ترتیب برای نسبت دادن موقعیت یک ابزار نسبت به ابزار دیگر از موارد زیر استفاده میشود
و توجه کنید این attribute چون نسبی به یک ابزار دیگر هست از شما id ابزاری که دارید به آن ارجاع میدهید را هم میخواهد. مثلا به ترتیب زیر دکمه دوم ()button1 را سمت راست دکمه اول قرار میدهم (button)
و اخرین مورد قرار دادن ابزاری در راستای لبه ی ابزار دیگر هست. مثلا فکر کنید میخواهید دکمه سوم(button2 ) در زیر دکمه دوم (button1) و در امتداد سمت راستش قرار بگیرد. کد آن بصورت زیر است: