android2018. 7. 16. 16:02

About Fragment


-Fragment는 자신만의 layout 및 lifecycle을 가진다.

-Running 중인 Activity 내에서 add/remove가능하다.

-하나의 Activity 여러개의 Fragment는 사용할 수 있다.

-하나의 Fragment는 여러 Activity에서 활용할 수 있다.

-Activity life-cycle과 매우 유사, Activity 멈추면 Fragment는 같이 멈춘다.

-UI없는 Fragment 구현가능하다.


Example) Single Fragment



public class LM_Fragment extends Fragment {
    static final String TAG=LM_Fragment.class.getSimpleName();
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        Log.d(TAG, "onCreateView");
        return inflater.inflate(R.layout.lm_fragment, container, false);
    }
}
public class FragmentActivity extends Activity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Configuration config = getResources().getConfiguration();


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

        if (config.orientation == Configuration.ORIENTATION_LANDSCAPE){
            Fragment lm=  new LM_Fragment();
            fragmentTransaction.replace(android.R.id.content, lm);
        } else {
            Fragment pm=  new PM_Fragment();
            fragmentTransaction.replace(android.R.id.content, pm);

        }
        fragmentTransaction.commit();
    }

}



lm_fragment.xml


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

<android.support.constraint.ConstraintLayout

    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"

    android:layout_height="match_parent">


    <LinearLayout

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:orientation="horizontal"

        android:background="@color/fui_linkColor"

        >


        <TextView

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:text="LM_Fragment"

            android:textColor="#000000"

            android:textSize="20px" />

    </LinearLayout>


</android.support.constraint.ConstraintLayout>


AndroidManifest.xml

<activity android:name=".FragmentActivity">


</activity>


출처 : https://www.tutorialspoint.com/index.htm

'android' 카테고리의 다른 글

AudioTrack 정리  (0) 2018.07.26
MediaPlayer  (0) 2018.07.18
Custom Intent로 app 실행하기  (0) 2018.07.16
tutorialspoint  (0) 2018.07.16
custom view tutorial 따라하기 3  (0) 2018.07.16
Posted by easy16