2 تصاویر

درباره این فایل

یکی از Layout های اندروید که برای چیده مان المان ها یا ویجت ها، میتوانیم از آن استفاده کنیم RelativeLayout میباشد و همانطور که از اسم آن مشخص میباشد، بطور نسبی ویجت ها را میتوانیم با طراز بندی های خاصی بچینیم.

در RelativeLayout میتوانید با استفاده از ویژگی های above,below,left,right تعیین کنید که ویجت ها به چه صورتی کنار هم قرار بگیرند.

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

هر کدام از آیتم های بالا دارای اصول و قاعده های مربوط به خود میباشند که میبایستی تمامی آنها را یادگرفته و بتوانیم تشخیص دهیم در چه زمانی از کدام Layout استفاده نماییم

 

روش تعریف RelativeLayout در اندروید:

برای تعریف کردن RelativeLayout میبایستی که تگ آن را تعریف نماییم.


 

<RelativeLayout
android:layout_width="fill_parent"

android:layout_height="wrap_content">

پس از تعریف، بایستی المان را در داخل این Viewgroup و نسبت های مربوطه را برای هرکدام از ویجت ها قرار داد.

قرار دادن خصوصیت Id:

Id یکی از مهمترین ویژگی های هر Layout یا ویجت میباشد که باید به آنها نسبت دهیم تا بتوانیم در قسمت Layout و اکتیویتی به آنها دستیابی پیدا کنیم و عملکرد هر کدام را تعریف نماییم.

طریقه تعریف Id:

{xtypo_code}android:id="@+id/name"

بعد از تعریف کردن id مربوطه، name یک مقدار رشته ای برای آن در فایل R ایجاد میکند و از این طریق میتوان به آنها دسترسی پیدا کرد.

خصوصیات RelativeLayout:

android:layout_above : این خصوصیت تعیین میکند که این ویجت در بالای کدام view یا ویجت دیگر قرار بگیرد.

android:layout_below : این خصوصیت تعیین میکند که این ویجت در پایین کدام view یا ویجت قرار بگیرد.

android:layout_centerHorizontal : این خصوصیت تعیین میکند که این view یا ویجت بطور افقی وسط چین شود.

android:layout_centerVertical : این خصوصیت تعیین میکند که این view یا ویجت بطور عمودی وسط چین شود.

android:layout_centerInParent : این خصوصیت تعیین میکند که این view یا ویجت، بطور عمودی و افقی وسط چین شود و دقیقا مشابه استفاده از دو ویژگی centerHorizontal و centerVertical میباشد.

android:layout_toLeftOf : این خصوصیت تعیین میکند که این view یا ویجت سمت چپ کدام view باشد.

android:layout_toRightOf: این خصوصیت تعیین میکند که این view یا ویجت سمت راست کدام view باشد.

android:layout_alignParentRight : این خصوصیت تعیین میکند که این view یا ویجت سمت راست والد خود باشد.

Margin :

Margin برای ایجاد کردن فاصله بین View ها از طرف خارج خود میباشد یا بطور ساده تر میتوان گفت بین ویجت ها از جهت های بالا، پایین، راست و چپ فاصله ایجاد میکند و به هر اندازه که نیاز باشد، میتوان سایز های مورد نظر خود را به آن اختصاص داد.

 

در این بخش یک مثال را بطور عملی اجرا خواهیم نمود تا بطور کامل روش استفاده از RelativeLayout را بیاموزید.

ابتدا یک پروژه جدید اندروید را ایجاد کنید.

بر روی پوشه res/layout راست کلیک کنید و سپس گزینه Android xml file را انتخاب کنید و یک اسم برای Layout خود انتخاب کنید.

 

و یا بصورت افقی :

 

<RelativeLayout 

android:layout_width="fill_parent"

android:layout_height="wrap_content">

 

<EditText android:layout_height="wrap_content" android:text="Email" />

 

<TextView android:layout_height="wrap_content" android:layout_below="@id/label" />

<Button android:layout_height="wrap_content" android:layout_below="@id/inputEmail"

android:layout_alignParentLeft="true" android:layout_marginRight="10px"

android:text="Login" />

 

<Button android:layout_toRightOf="@id/btnLogin"

android:layout_alignTop="@id/btnLogin" android:text="Cancel" />

 

<Button android:layout_alignParentBottom="true" android:text="Register new Account"

android:layout_centerHorizontal="true"/>

 

 

خروجی

ارتباط layout با اکتیویتی:

setContentView(R.layout.relative_layout);

با این دستور براحتی تعیین میکنید، هنگامی که این Activity اجرا شود، کدام Layout ظاهر شود.

در ادامه همراه شاپ دروید باشید

این آموزش از چه قسمت هایی تشکیل شده است؟

 

در این آموزش با مفاهیم Layout در اندروید و RelativeLayout بطور کامل آشنا خواهید شد و قادر خواهید بود رابط های گرافیکی مختلفی را پیاده سازی نمایید.

از جمله آیتم های موجود میتوان به موارد زیر اشاره کرد:

 

مفهوم RelativeLayout در اندروید

انواع Layout های موجود در اندروید برای پیاده سازی رابط های کاربری

استفاده از خصوصیت های CenterVertical و CenterHorizontal در RelativeLayout

آشنایی و استفاده از Margin

آشنایی با id و طریقه تعریف کردن id ها

طراز بندی ویجت ها کنار هم

حل مشکل بهم ریختگی View ها در RelativeLayout

 

 

مشخصات ویدئو


عنوان:آشنایی با RelativeLayout در اندروید
مدرس:فرزاد سرسیفی
مدت:21 دقیقه
سطح:حرفه ای




بازخورد کاربر

Create an account or sign in to leave a review

You need to be a member in order to leave a review

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

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


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

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

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


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

هیچ نقدی برای نمایش وجود ندارد.

  • بیشترین دانلودها

    هفته

    1. رایگان

      توسط dajes
         3   0
    2. رایگان

    3. رایگان

      توسط Omid Zakeri
         1   0
    4. رایگان

      توسط davod56
         1   0
    5. رایگان

    ماه

    1. رایگان

    2. رایگان

      توسط dajes
         5   0
    3. رایگان

      توسط Omid Zakeri
         3   0
    4. رایگان

    5. رایگان

      توسط Omid Zakeri
         1   0

    سال گذشته

    1. رایگان

    2. رایگان

      توسط Omid Zakeri
         25   0
    3. رایگان

      توسط Omid Zakeri
         22   0
    4. رایگان

    5. رایگان

      توسط davod56
         11   0

    تمام زمان

    1. رایگان

      توسط Omid Zakeri
         192   0
    2. رایگان

      توسط Amir2115
         185   0
    3. رایگان

    4. 50٬000 ریال

      توسط Omid Zakeri
         0   85   0
    5. رایگان

  • مطالب مشابه

    • توسط Farzad Sarseifi
      دوره پیشرفته ‌آموزشی اندروید

      🔻آخرین دوره سال ۹۷
      📍دوره پیشرفته برنامه نویسی اندروید
      💭مدرس: فرزاد سرسیفی
      تماس:  ۸۸۵۰۸۰۸۰ -۸۸۵۵۴۲۱۷ -۸۸۵۵۴۲۱۳
      لینک ثبت نام:
      https://goo.gl/3fwHKM
       
    • توسط Farzad Sarseifi
      آموزش پیاده سازی دیتابیس اندروید همراه با مثال عملی
      در این اموزش میتوانید یک دیتابیس اندروید ایجاد کنید که توانایی افزودن اطلاعات،ویرایش اطلاعات ،حذف و لیست گیری اطلاعات باشید.
       
      ابتدا  یک کلاس برای ایجاد SqliteopenHelper دیتایس و جداول ایجاد میکنیم و متدهای مورد نظر را نیز در ادامه مینویسیم
      import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.DatabaseUtils; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase; public class DBHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "MyDBName.db"; public static final String CONTACTS_TABLE_NAME = "contacts"; public static final String CONTACTS_COLUMN_ID = "id"; public static final String CONTACTS_COLUMN_NAME = "name"; public static final String CONTACTS_COLUMN_EMAIL = "email"; public static final String CONTACTS_COLUMN_PHONE = "phone"; private HashMap hp; public DBHelper(Context context) { super(context, DATABASE_NAME , null, 1); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL( "create table contacts " + "(id integer primary key, name text,phone text,email text)" ); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub db.execSQL("DROP TABLE IF EXISTS contacts"); onCreate(db); } public boolean insertContact (String name, String phone, String email) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", name); contentValues.put("phone", phone); contentValues.put("email", email); db.insert("contacts", null, contentValues); return true; } public Cursor getData(int id) { SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from contacts where id="+id+"", null ); return res; } public int numberOfRows(){ SQLiteDatabase db = this.getReadableDatabase(); int numRows = (int) DatabaseUtils.queryNumEntries(db, CONTACTS_TABLE_NAME); return numRows; } public boolean updateContact (Integer id, String name, String phone, String email) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", name); contentValues.put("phone", phone); contentValues.put("email", email); db.update("contacts", contentValues, "id = ? ", new String[] { Integer.toString(id) } ); return true; } public Integer deleteContact (Integer id) { SQLiteDatabase db = this.getWritableDatabase(); return db.delete("contacts", "id = ? ", new String[] { Integer.toString(id) }); } public ArrayList<String> getAllCotacts() { ArrayList<String> array_list = new ArrayList<String>(); //hp = new HashMap(); SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from contacts", null ); res.moveToFirst(); while(res.isAfterLast() == false){ array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME))); res.moveToNext(); } return array_list; } }  
      سپس واسط کاربری گرافیکی Layout را طراحی میکنیم  activity_main.xml
      <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content" tools:context=".MainActivity" > <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="370dp"> <EditText android:id="@+id/editTextName" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="text" > </EditText> <EditText android:id="@+id/editTextEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="22dp" android:ems="10" android:inputType="textEmailAddress" /> <EditText android:id="@+id/edit_phone" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="28dp" android:text="@string/save" /> </LinearLayout> </ScrollView>
      برای ذخیره اطلاعات در دیتابیس.میبایستی در اکتیویتی دیتابیس را new کنید تا بتوانید که اطلاعات را در دیتابیس فراخوانی کنید
      افزودن اطلاعات :
      public class MainActivity extends AppCompatActivity { DBHelper mydb; EditText editTextName,editTextEmail,edit_phone; Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editTextName=(EditText)findViewById(R.id.editTextName); editTextEmail=(EditText)findViewById(R.id.editTextEmail); edit_phone=(EditText)findViewById(R.id.edit_phone); button1=(Button)findViewById(R.id.button1); mydb = new DBHelper(this); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name=editTextName.getText().toString(); String email=editTextEmail.getText().toString(); String phone=edit_phone.getText().toString(); mydb.insertContact(name,email,phone); } }); }  
      بزودی آموزش تکمیل میگردد.
       
      دوره آموزشی اندروید
      http://android-learn.ir/online-learning/android-development-training/guruPrograms/1-android-programming/2-programming-mobile-applications-for-android
       
       


       

       
    • توسط Seyed-Hossein-Akbari
      الگوهای زیادی برای طراحی برنامه نویسی هستند که بستگی به سلیقه شما دارند از آنها استفاده کنید یا نکنید ...
       
      برای آموزش Singleton Design Pattern کلیک کنید
       
      برای سفارش پروژه پیام بگذارید
    • توسط Farzad Sarseifi

      کمپ تابستانه  برنامه نویسی اندروید
      👍مدرس  : فرزاد سرسیفی
      👍تاریخ برگزاری : 6 الی   9  شهریور 1397
      👍تلفن های ثبت نام : ۸۸۵۵۴۲۱۷ -۸۸۵۰۸۰۸۰
      👍همراه با نهار و پذیرایی
      https://goo.gl/vPF2e5
      معرفی دوره و ثبت نام
       
    • توسط Farzad Sarseifi
      دوره آشنایی با جاوا وبرنامه نویسی اندروید درآموزشگاه ویستا تنها با پرداخت ۱۲۰۰۰۰ تومان اما به ارزش ۱۲۰۰۰۰۰ تومان (۹۰% تخفیف)
       
      ثبت نام در دوره
      کارت‌خوان: دارد جای پارک آسان: دارد مخاطب : بانوان وآقایان سرفصل‌ها : فصل اول)آشنایی با جاوا
      معرفی مفهوم برنامه نویسی و اهداف آن
      معرفی ویژگی های زبان جاوا و تفاوتهای آن با سایر زبانها
      معرفی مفهوم انتزاع
      توزیع های جاوا
      آشنایی با JDK
      ثبت نام در دوره

      فصل دوم) نصب و راه اندازی نرم افزارها
      نصب JDK 1.8
      آشنایی با محیط برنامه نویسی intellj Idea
      آشنایی با محیط برنامه نویسی Android studio
      ایجاد پروژه جاوا

      فصل سوم) متغیر ها ، شرط ها
      تعریف متغیر در زبان جاوا
      کلمات رزرو شده در جاوا
      آشنایی با عملگر ها
      ترتیب عملگرها
      شرط ها if
      شرط های تو در تو if-else if
      Switch case
      بررسی شرط های رشته ای در  if else
      تبدیل نوع type casting

      فصل چهارم) حلقه های - آرایه
      اشنایی با مفهوم حلقه ها
      حلقه for
      حلقه whil
      حلقه do while
      حلقه for each
      ایجاد کردن آرایه
      آرایه های دوبعدی و چند بعدی

      فصل پنجم) کار با توابع تاریخ و زمان
      آشنای با مفاهمیم تاریخ و زمان در جاوا
      امکانات جاوا برای Date
      آشنایی با کلاس Date
      بدست آوردن تاریخ و زمان جاری
      تبدیلات تاریخ در جاوا
      بدست آوردن تاریخ شمسی در جاوا

      فصل ششم) اشنایی با شی گرایی در جاوا
      آشنایی با مفهوم برنامه نویسی شی گرایی
      اشنایی با مفهوم ابجکت object
      ایجاد کردن کلاس
      ایجاد کردن یک شی از نوع کلاس ها
      آشنایی با کپسوله سازی کلاس ها
      ارث بری کلاس ها
      آشنایی با Abstract class
      interface class
      Enum class
      فصل هفتم)آشنایی با اندروید
      ورژن های مختلف اندروید از ابتدا تا Oreo
      انواع دستگاه های اندروید
      آشنایی با معماری سیستم عامل اندروید
      فصل هشتم) اندروید استودیو
      اشنایی با محیط  های برنامه نویسی اندروید
      معرفی اندروید استودیو
      نصب و راه اندازی اندروید استودیو
      نیازمندی مورد نیاز برای اندروید استودیو
      ماشین مجازی اندروید AVD
      آشنایی با دیباگ پروژه در اندروید استودیو
      آشنایی با محیط design و text دیزاین اندروید استودیو
      آشنایی با پنجره Logcat در اندروید استودیو
      آشنایی با پنل نرم افزاری اندروید استودیو
      آشنایی با کلید های میانبر اندروید استودیو
      تست اپلیکیشن های اندروید بر روی دیوایس های واقعی اندروید
      تغییر Style اندروید  استودیو Dark , Light
      فصل نهم) اکتیویتی ، Sdk اندروید
      ایجاد پروژه در اندروید استودیو
      آشنایی با اکتیوتی در اندروید
      آشنایی با SDK اندروید
      آشنایی با اکتیوتی و مفهوم اکتویتی در اپلیکیشن های اندروید
      چرخه حیات اکتیوتی Life Cycle
      فصل دهم)Layout در اندروید
      آشنایی با XML در اندروید
      ساختار پروژه های اندروید
      آشنایی با فایل مانیفست
      فصل یازدهم)Layout در اندروید
      آشنایی با Intent
      ارتباط بین اکتیویتی ها در اندروید
      آشنایی با Bundle در اندروید
      ارسال اطلاعات توسط Bundle بین اکتیویتی ها
      آشنای با Log در اندروید
      انواع Log ها در اندروید
      نمایش Toast و پیغام در اندروید
      کنترل کردن ویبره دستگاه در اندروید
      فصل دوازدهم)طراحی واسط کاربری
      طراحی واسط کاربری برای سایز های مختلف
      تصاویر استاندارد در اندروید برای سایزهای مختلف
      استفاده از Vector در اندروید
      تغییر رنگ پس زمینه  View ها
      اشنایی  با مقدارهای استاندارد dp,px,sp
      استفاده از WebView در اندروید
      استفاده از فونت های فارسی در UI
      فصل دوازدهم)متریال دیزاین اندروید
      متریال دیزاین در اندروید
      پیاده سازی متریال دیزاین در اندروید
      فصل سیزدهم)منابع در اندروید
      ارسال SMS در اندروید
      ایجاد تماس  تلفنی در اندروید
      آشنایی با منابع در اندروید
      منابع رشته ای در اندروید
      منابع Color در اندروید
      فصل چهاردهم) انتشار اپلیکیشن
      ایجاد کلید Sign برای ایجاد خروجی
      ساخت  نسخه Release اپلیکیشن نهایی برای انتشار در مارکت ها اندروید
       
      فصل پانزدهم) درامدزایی اپلیکیشن های اندروید
      درامد زایی از اپلیکیش های اندروید
      چه اپلیکیشن هایی را بنویسیم؟
      راه های درامد زایی از اپلیکیشن های اندروید
      آشنایی با مارکت های اندرویدی ایرانی و خارجی
      ثبت نام در دوره
      روز برگزاری دوره : با هماهنگی طول دوره : 4جلسه ، 4ساعته ( 16ساعت ) محل برگزاری : آموزشگاه ویستا نام برگزارکننده دوره : آموزشگاه ویستا زمان برگزاری دوره : با هماهنگی ثبت نام در دوره
      نام و نام خانوادگی مدرس : فرزاد سرسیفی مدرک تحصیلی : کارشناسی نرم افزار با بیش از 7 سال تجربه در حوزه توسعه اپلیکیشن های اندروید و iOS مدارک جهانی اندوید
      Training Skills for Android ATC Certified Trainer از کمپانی ATC Android Certified Application Developer از کمپانی ATC Android Application Development Course Bermotech London Android Security Course Bermotech London  iOS Application Development Course Bermotech London سوابق کاری : تیم لیدر موبایل شرکت فناپ تیم لیدر موبایل شرکتSigmaTelecom (Turkey) سوابق تدریس:
      تدریس بیش از 30 دوره عمومی آموزشی حضوری در سال های 1392 ، 1393 ، 1394 ، 1395 و 1396 در آموزشگاه اندروید ایران تدریس دوره برنامه نویسی امنیت در  اندروید در شرکت امن افزار شریف- سال 1395 تدریس دوره برنامه نویسی  اندروید در موسسه انتظامی فاطمیون - سال 1395 تدریس دوره برنامه نویسی  اندروید در شرکت  صمیم رایانه - سال 1395 تدریس برنامه نویسی اندروید در فناپ- سال 1394 تدریس برنامه نویسی اندروید صدا و سیما(معاونت رسانه مجازی - معاونت توسعه فناوری) -سال 1393 تدریس برنامه نویسی اندروید در بانک شهر- سال 1394 تدریس برنامه نویسی اندروید در رجا(راه آهن جمهوری اسلامی ایران)-سال 1394 تدریس برنامه نویسی اندروید در سازمان فضای مجازی-سال های 1393 و 1394 تدریس برنامه نویسی اندروید بصورت آنلاین تدریس دوره های آنلاین اندروید بصورت LMS تدریس ده ها دوره خصوصی آموزشی در سال های 1392 ، 1393 ، 1394 ، 1395 و 1396 در آموزشگاه اندروید ایران  
       
      ثبت نام در دوره