در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

ساخت رابط کاربری اندروید با fragment ها

سلام به ITPRO های عزیز. اگر بخواهیم در اندروید یک رابط کاربری بسازیم که چند قسمتی باشد و هر قسمت به صورت داینامیک و پویا عمل کند و اجزای رابط کاربری ما جدا از هم باشند بهتر است که اجزای کامپوننت ها و رفتار های Activityها را از هم جدا کنیم و در قالب یک سری ماژول ها قرار دهیم. شما می توانید این ماژول بندی را با استفاده از کلاس Fragment بسازید. این کلاس ها مانند activity های تو در تو عمل می کند و خودش layout خودش را داشته باشد و چرخه حیات خود را طی کند. ما ابتدا layout را برای fragment معرفی می کنیم. به همین صورت اگر چند تا fragment داشته باشیم می توانیم چند fragment را داخل یک activity قرار دهید. در نمایشگر های دستگاه ها ما سایز ها و اندازه های مختلفی داریم. یک صفحه کوچک می تواند در یک لحظه فقط یک fragment را نشان می دهد و یک صفحه بزرگتر می تواند چند fragment را نشان دهد. کلاس fragment نشان می دهد که چطوری می توان یک رابط کاربری داینامیک و پویا داشت.


ساخت یک fragment


همانطور که گفتیم یک fragment را شبیه به بخش های ماژولی یک activity می باشد که چرخه حیات خود را دارد و رویداد های ورودی خود را دریافت می کند و کارهای خود را می کند. به عبارت دیگر این یک sub-activity است. در این مطلب شروع به ساختن fragment ها می کنیم. برای ساخت یک fragment باید یک کلاس بسازیم که از کلاس Fragment ارث بری کرده باشد.


ساخت کلاس فرزند Fragment


برای ساخت یک کلاس Fragment باید از کلاس Fragment عمل extends را انجام دهیم و متدهای مهم آن را override کنیم برای مثال متد onCreateView را override کنیم. کار با Fragment بسیار شبیه به acitivity است. در مثال زیر یک Fragment را ساخته ایم.

public class MyFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
        // برای مشخص کردن لی اوت 
        return inflater.inflate(R.layout.my_view, container, false);
    }
}

Fragment هم مانند activity متدهایی مانند onPause, onStop, onResume دارد و شما می توانید از آن استفاده کنید.


افزودن Fragment به activity با استفاده از xml


خب ما الان یک Fragment را ساخته ایم. حال باید این Fragment ساخته شده را به یک activity اضافه کنیم تا بتوانیم از آن استفاده کنیم. به این نکته دقت داشته باشید که Fragment ها را می توان در چندین جا استفاده کرد. حال برای این که از Fragment ساخته شده در برنامه استفاده کنیم می توانیم آن را در xml مربوط به activity بیاوریم. در مثال زیر یک layout برای activity ساخته ایم و دو عدد fragment به آن اضافه کرده ایم. و همچنین کد جاوای مربوط به activity مورد نظر را آورده ایم.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <fragment android:name="ir.itpro.android.fragments.MyFragment1"
              android:id="@+id/my_fragment1"
              android:layout_weight="1"
              android:layout_width="0dp"
              android:layout_height="match_parent" />

    <fragment android:name=" ir.itpro.android.fragments.MyFragment2"
              android:id="@+id/my_fragment2"
              android:layout_weight="2"
              android:layout_width="0dp"
              android:layout_height="match_parent" />

</LinearLayout>

کد جاوای activity در زیر آمده است به کلاسی که از آن ارث بری کرده ایم دقت کنید.

public class MainActivity extends FragmentActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.news_articles);
    }
}

دقت داشته باشید که اگر از ورژن های پایین تر اندروید مانند API10 و پایین تر از آن استفاده می کنیم باید کتابخانه های مورد نظر را دستی نصبت کنید. ولی در ورژن های بالا تر مشکلی پیش نخواهد آمد. اگر شما در پروژه های خودتان از AppCompatActivity استفاده می کنید و کتابخانه شما

com.android.support:appcompat-v7

استفاده می کنید مشکلی پیش نخواهد آمد. با استفاده از این روش که در این مطلب استفاده شد یعنی fragment را در کد Xml معرفی کردیم برای fragment های ثابت استفاده می شود. و اگر شما بخواهید در زمان اجرا یک فرگمنت را از داخل activity حذف کنید نمی توانید این کار را انجام دهید. در مطالب بعدی خواهیم گفت که چگونه می توان از فرگمنت ها استفاده کرد که بتوانند این کار را انجام دهند. ITPRO باشید.

نویسنده: مهدی عادلی فر

منبع: Itpro

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

#آموزش_گام_به_گام_اندروید #کار_با_fragment #کار_با_فرگمنت_در_اندروید #ساخت_رابط_کاربری_با_فرگمنت #طراحی_فرگمنت_در_اندروید #رابط_کاربری_پیشرفته_اندروید #آموزش_برنامه_نویسی_اندروید #ساخت_رابط_کاربری_برای_اندروید #ساخت_رابط_کاربری_با_fragment #طراحی_رابط_کاربری_نرم_افزار
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

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