Razieh Shahraki

کار با fragment

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

در این آموزش میخواهیم کار با فرگمنت رو انجام بدیم.

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

در فایل activity_main.xml کد زیر را قرار دهید.

xmlns:tools="http://schemas.android.com/tools"

android:orientation="horizontal"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:name="balaji.fragment_static.Fragment1"

android:id="@+id/fragment1"

android:layout_weight="1"

android:layout_width="0dp"

android:layout_height="match_parent" />

android:name="balaji.fragment_static.Fragment2"

android:id="@+id/fragment2"

android:layout_weight="1"

android:layout_width="0dp"

android:layout_height="match_parent" />

 

فایل به اسم Fragment1.xml ایحاد کنید و کد زیر را در آن قرار دهید.

xmlns:tools="http://schemas.android.com/tools"

android:background="#7B68EE"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:textSize="30dp"

android:text="Fragment 1" />

فایل دیگری به اسم Fragment2.xml ایجاد کنید و کد زیر را در آن قرار دهید.
 

xmlns:tools="http://schemas.android.com/tools"

android:background="#00FF00"

android:layout_width="match_parent"

android:layout_height="match_parent" >


android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:textSize="30dp"

android:text="Fragment 2" />

در فایل MainActivity.java کد زیر را قرار داده


 

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;


public class MainActivity extends Activity {


@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}


@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

}

 

در فایل Fragment1.java کد زیر را قرار داده

 

import android.app.Fragment;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;


public class Fragment1 extends Fragment {

@Override

public View onCreateView(LayoutInflater inflater,

ViewGroup container, Bundle savedInstanceState) {

// Inflate the layout for this fragment

return inflater.inflate(R.layout.fragment1, container, false);

}

}

 

در فایل Fragment2.java هم کد زیر را قرار دهید.

import android.annotation.SuppressLint;

import android.app.Fragment;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;


@SuppressLint("NewApi")

public class Fragment2 extends Fragment {

@Override

public View onCreateView(LayoutInflater inflater,

ViewGroup container, Bundle savedInstanceState) {

// Inflate the layout for this fragment

return inflater.inflate(R.layout.fragment2, container, false);

}

}

 

 

برنامه را اجرا کنید.

خروجی برنامه به صورت زیر می باشد

کار با fragment

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


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

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط soroush80
      سلام دستان من به یه مشکلی خوردم من یه battom barدرست کردم و خب چند تا فرگمنت براش قرار دادم الان میخوام تو یکی از فرگمنت هام  toolbarبزارم نه تو کل برنامه اما چون فایل جاوای اون activity من به صورت extends fragmentهست خیلی از خواصAppCompatActivity رو نداره به همین خاطر نمیتونم toolbarرو بهش اظافه کنم میخواستم اگه میشه یا یه روش بهم بگید که fragment هم خواصAppCompatActivity رو پیدا کنه یا یه راه حل بهم بدید.
      خیلی ممنون.
    • توسط yasin133
      چطور میتونم از یک فرگمنت به یک اکتیویتی انتقال پیدا کنم. تو دیزاین فرگمنتم یه دکمه دارم که میخوام باهاش به یه اکتیویتی برم، اما تو کلاس فرگمنتم وقتی میخوام باتنو تعریف کنم ارور میده برای findviewbyid. ممنون میشم اگه کمکم کنید 
    • توسط rexo
      سلام به همگی...
      مسقیم میرم سر اصل مطلب:
      من داخل یکی از فرگمنتهایی که پیاده سازی کردم، یک دکمه قرار دادم که با زدن اون یک layout رو با دستور:
      layout.setVisibility(View.VISIBLE); نمایش میدم، حالا میخوام با زدن دکمه برگشت این layout بسته بشه ولی متد onBackPressed رو نمیشه توی فرگمنت پاده سازی کرد!!!!
      چجوری میتونم این کار رو انجام بدم؟!!!
      ممنون از راهنماییتون.
    • توسط hassan8971
      سلام. من تو اکلیپس میتونستم با کد زیر اکشن بار پیش فرض رو حذف کنم ولی تو استودیو نمیدونم چرا نمیشه؟؟؟
      android:theme="@android:style/Theme.NoTitleBar" اس دی کی ام 24 هست
    • توسط salman.t
      سلام آقای سر سیفی اگه میشه منو تو این قضیه کمک کنید هرجور بتونم جبران میکنم بخدا شرمندم همش مزاحمم ببینید من یه برنامه فرگمنتی درست کردم به این صورت

       
      من ViewFlipper رو به تب یک بردم و بدون هیچ مشکلی نمایش داد! اما به محض اینکه LinerLayout که دایره های داخل اسلایدر نشون میده رو به تب یک میبرم که فقط تو تب 1 نشون بده و داخل بقیه صفحات نمایش نده برنامه stop میشه
      با وجود اینکه وقتی همین کد رو میبرم تو xml صفحه اصلی نمایش داده میشه و برنامه اجرا میشه اما داخل صفحات همه تب ها نمایش داده میشه! درصورتی که من میخوام فقط داخل تب 1 نمایش داده بشه
       
      کد:
      پ.ن:همین کد Linear Layout را که میبرم به قسمت activity_main2 به خوبی برنامه اجرا و نمایش داده میشه اما داخل همه فرگمنت ها و صفحات به نمایش در میاد در صورتی که من میخوام فقط داخل تب1 یا صفحه اصلی نشون داده بشه


       
      شرمنده همش مزاحم هستم
      بسیار بسیار از لطف شما ممنونم و سپاسگذارم
       

  • دوره آموزشی اندروید ایران کانادا آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin آموزش برنامه نویسی ios مهارت های فروش
    آموزش برنامه نویسی اندروید
  • فایل