التجزئة او التقسيم ذات الأحادي او الفردي الإطار في برمجة الأندرويد Android Single Fragments#

التجزئة او التقسيم ذات الأحادي او الفردي الإطار في برمجة الأندرويد

  Android Single Fragments#



التجزئة او التقسيم ذات الأحادي او الفردي الإطار في برمجة الأندرويد  Android Single Fragments#

التجزئة او التقسيم ذات الأحادي او الفردي الإطار Single Frame Fragment
تم تصميم جزء الإطار الفردي للأجهزة ذات الشاشة الصغيرة مثل الأجهزة المحمولة باليد (الهواتف المحمولة) ويجب أن يكون أعلى من الإصدار 3.0 من نظام Android.

مثال Example


هذا المثال سوف يشرح كيفية إنشاء التقسيم او التجزئة  الخاصة بك.  سنقوم هنا بإنشاء تقسمين وسيتم استخدام واحدة منها عندما يكون الجهاز في وضع أفقي وسيتم استخدام جزء آخر في حالة وضع عمودي.  لذلك دعونا نتبع الخطوات التالية على غرار الخطوات التي اتبعناها أثناء إنشاء Hello World Example -


activity file MainActivity.java −
package com.example.myfragments;

import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.res.Configuration;
import android.os.Bundle;

public class MainActivity extends Activity {

   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      Configuration config = getResources().getConfiguration();

      FragmentManager fragmentManager = getFragmentManager();
      FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

      /**
         * Check the device orientation and act accordingly
      */
  
      if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
         /**
            * Landscape mode of the device
         */
         LM_Fragement ls_fragment = new LM_Fragement();
         fragmentTransaction.replace(android.R.id.content, ls_fragment);
      }else{
         /**
            * Portrait mode of the device
         */
         PM_Fragement pm_fragment = new PM_Fragement();
         fragmentTransaction.replace(android.R.id.content, pm_fragment);
      }
      fragmentTransaction.commit();
   }

}
إنشاء ملفين جزء LM_Fragement.java و PM_Fragment.java
 فيما يلي محتوى ملف LM_Fragement.java -

package com.example.myfragments;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**
   * Created by TutorialsPoint7 on 8/23/2016.
*/

public class LM_Fragement extends Fragment {
   @Override
   public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      /**
         * Inflate the layout for this fragment
      */
      return inflater.inflate(R.layout.lm_fragment, container, false);
   }
}
فيما يلي محتوى ملف PM_Fragement.java -
package com.example.myfragments;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**
   * Created by TutorialsPoint7 on 8/23/2016.
*/

public class PM_Fragement extends Fragment {
   @Override
   public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      /**
         * Inflate the layout for this fragment
      */
      return inflater.inflate(R.layout.pm_fragment, container, false);
   }
}
قم بإنشاء ملفي تخطيط lm_fragement.xml و pm_fragment.xml ضمن دليل res / layout.
 فيما يلي محتوى ملف lm_fragement.xml -

xml version="1.0" encoding="utf-8"?>
   
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="#7bae16">
   
   
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="@string/landscape_message"
      android:textColor="#000000"
      android:textSize="20px" />




فيما يلي محتوى ملف pm_fragment.xml -
xml version="1.0" encoding="utf-8"?>

   xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="horizontal"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="#666666">
   
   
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="@string/portrait_message"
      android:textColor="#000000"
      android:textSize="20px" />




فيما يلي محتوى ملف res / layout / activity_main.xml الذي يتضمن شظاياك -
xml version="1.0" encoding="utf-8"?>
 xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="horizontal">

   
      android:name="com.example.fragments"
      android:id="@+id/lm_fragment"
      android:layout_weight="1"
      android:layout_width="0dp"
      android:layout_height="match_parent" />
   
   
      android:name="com.example.fragments"
      android:id="@+id/pm_fragment"
      android:layout_weight="2"
      android:layout_width="0dp"
      android:layout_height="match_parent" />

تأكد من أنك تملك المحتوى التالي لملف res / values ​​/ strings.xml -

xml version="1.0" encoding="utf-8"?>

    name="app_name">My Application
    name="landscape_message">This is Landscape mode fragment
    name="portrait_message">This is Portrait mode fragment>

دعونا نحاول تشغيل تطبيق MyFragments المعدل الذي أنشأناه للتو.  أفترض أنك قمت بإنشاء AVD أثناء القيام ببيئة الإعداد.  لتشغيل التطبيق من Android Studio ، افتح أحد ملفات أنشطة المشروع وانقر على أيقونة "تشغيل" من شريط الأدوات.  يقوم Android Studio بتثبيت التطبيق على AVD الخاص بك وتشغيله ، وإذا كان كل شيء على ما يرام مع الإعداد والتطبيق الخاص بك ، فسوف يعرض نافذة Emulator حيث ستضغط على زر القائمة لرؤية النافذة التالية.  التحلي بالصبر لأنه قد يستغرق وقتًا ما بناءً على سرعة جهاز الكمبيوتر الخاص بك -
Android Portrait Fragment Demo
لتغيير وضع شاشة المحاكي ، لنقم بما يلي -
 fn + control + F11 على Mac لتغيير المشهد إلى صورة والعكس صحيح.
 control + F11 على ويندوز.
 control + F11 على لينكس.
مجرد تغيير الوضع ، ستتمكن من رؤية واجهة المستخدم الرسومية التي قمت بتطبيقها لوضع أفقي على النحو التالي -

Android Landscape Fragment Demo



وبهذه الطريقة يمكنك استخدام نفس النشاط ولكن واجهة المستخدم الرسومية مختلفة من خلال شظايا مختلفة.  يمكنك استخدام نوع مختلف من مكونات واجهة المستخدم الرسومية لمختلف واجهات المستخدم الرسومية بناءً على متطلباتك.