درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من
    اطلاعات مطلب
      مدرس/نویسنده
      مهدی عادلی فر
      امتیاز: 242797
      رتبه:6
      111
      196
      285
      1456
      مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم. پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 27 قسط خریداری کنید
      با خرید این دوره مبلغ 8,110 تومان هدیه بگیرید
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 17 قسط خریداری کنید
      با خرید این دوره مبلغ 5,445 تومان هدیه بگیرید
      دوره آموزشی Exploit نویسی به زبان Perl
      دوره آموزشی Exploit نویسی به زبان Perl
      مدرس: ایمان جوادی
      این دوره را در 7 قسط خریداری کنید
      دوره آموزشی طراحی رابط کاربری با JavaFX
      دوره آموزشی طراحی رابط کاربری با JavaFX
      مدرس: حسام رسولیان
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 78 قسط خریداری کنید
      با خرید این دوره مبلغ 82,245 تومان هدیه بگیرید
      دوره آموزشی برنامه نویسی حرفه ای پایتون به زبان ساده
      دوره آموزشی برنامه نویسی حرفه ای پایتون به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 23 قسط خریداری کنید
      با خرید این دوره مبلغ 7,425 تومان هدیه بگیرید
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      مدرس: امیر حسین فضلیخانی
      این دوره را در 12 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 17 قسط خریداری کنید
      با خرید این دوره مبلغ 8,470 تومان هدیه بگیرید
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      مدرس: کاظم تقندیکی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      مدرس: ایمان جوادی
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی ساخت ربات تلگرام
      دوره آموزشی ساخت ربات تلگرام
      مدرس: کاظم تقندیکی
      این دوره را در 8 قسط خریداری کنید
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      مدرس: کاظم تقندیکی
      این دوره را در 20 قسط خریداری کنید
      با خرید این دوره مبلغ 7,040 تومان هدیه بگیرید
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      مدرس: مهدی عادلی فر
      این دوره را در 2 قسط خریداری کنید

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

      تاریخ 18 ماه قبل
      نظرات 0
      بازدیدها 313
      سلام به 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
      هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.


      برچسب ها
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      هیچ نظری ارسال نشده است

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

        arrow