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
         1   0

    ماه

    1. رایگان

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

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

      توسط dajes
         1   0

    سال گذشته

    1. رایگان

    2. رایگان

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

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

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

    تمام زمان

    1. رایگان

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

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

    4. رایگان

    5. 50٬000 ریال

      توسط Omid Zakeri
         0   85   0
  • مطالب مشابه

    • توسط Farzad Sarseifi
       
      در این تاپیک آموزشی، از ابتدا آموزش برنامه نویسی اندروید را شروع خواهیم نمود ،یکی از مشکلات برنامه نویسان اندروید کم یا نبود آموزش های اصولی اندروید میباشد ،بر همین اساس تصمیم بر آن داشتیم بطور جامع آموزش های فارسی را منتشر نماییم .
      بیشتر کاربران انجمن برنامه نویسی اندروید، کم و بیش با این مشکل رو به رو بوده اند که به چه صورتی اندروید را شروع کنند و شروع به آموزش اندروید بگیرند.بر این اساس در این تاپیک بطور جامع آموزش های اندروید قرار داده خواهد شد..

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

       
       
      با تشکر
      انجمن برنامه نویسی اندروید-پی سی دروید
    • توسط Seyed-Hossein-Akbari
          فیلم های آموزشی اندروید نویسی مقدماتی تا پیشرفته در ۴۰ قسمت با مدت زمان ۸ ساعت و ۳۰ دقیقه که در اردیبهشت ماه ۱۳۹۷ ساخته شده است در اختیار شما عزیزان به صورت کاملا رایگان قرار میگیرد   هزینه ی فیلم ها : دعا و صلوات برای سلامتی خانواده ی خودم و حضرت امام مهدی عج   برای دریافت 40 قسمت کامل روی همین لینک کلیک کنید  
      دانلود نکته : برای دانلود و تماشا از آپارات روی لینک های زیر کلیک کنید فصل اول : آموزش مقدماتی اندروید استودیو قسمت اول معرفی اندروید استودیو – قسمت اول قسمت دوم معرفی اندروید استودیو – قسمت دوم قسمت سوم معرفی اندروید استودیو – قسمت سوم   فصل دوم : آموزش کدهای XML قسمت چهار آموزش مقدماتی کدهای XML قسمت پنجم آموزش مقدماتی RelativeLayout قسمت ششم آموزش مقدماتی LinearLayout قسمت هفتم آموزش پایانی کدهای XML   فصل سوم : آموزش کدهای Java قسمت هشتم آموزش مقدماتی کدهای Java قسمت نهم آموزش تابع در جاوا قسمت دهم آموزش کلاس در جاوا   برای دریافت 40 قسمت کامل روی همین لینک کلیک کنید   منبع : www.phoenixdevs.ir سید حسین اکبری    
    • توسط Farzad Sarseifi

      یک محیط برنامه نویسی برای پلتفرم اندروید است. این برنامه در 16 می 2014 توسط مدیران گوگل در کنفرانس گوگل آی/او معرفی شد. از ماه جوئن 2014 نسخه پیش نمایش این برنامه (به صورت رایگان) برای امتحان در دسترس توسعه دهنده‌ها قرار گرفت. این محیط بر اساس نرم‌افزار محبوب جت برینز طراحی شده است، این استودیو بطور اختصاصی برای اندروید طراحی شده. هم اکنون این استودیو برای دانلود بر روی ویندوز، مک و لینوکس در دسترس می‌باشد.
      چندین ویژگی جدید در این نرم‌افزار برای کاربران می‌باشد:
      چیدمان زنده: ویرایشگر WYSIWYG – کدنویسی زنده – رندر هم زمان برنامه کنسول توسعه دهنده: راهنمای بهینه سازی – کمک برای ترجمه – ردیابی ارجاع – طریقه استفاده ارائه نسخه بتا و اجرای صحنه پشتیبانی از ساخت مبتنی بر Gradle رفع و عیب یابی مخصوص اندروید ابزار لینت برای گرفتن عملکرد، قابلیت استفاده، نسخه سازگار با مشکلات دیگر قابلیت Proguard و امضای برنامه مبتنی بر الگوی wizard برای ایجاد طرح اندروید و اجزای مشترک ویرایشگر طرح بندی غنی که به شما اجازه کشیدن و رها کردن UI کامنت‌ها را می‌دهند. گزینه‌ای برای تنظیمات پیش نمایش طرح بندی در صفحه نمایش چندگانه  
       
      با سپاس فراوان
      فرزاد سرسیفی
    • توسط 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