안녕하세요 푸민입니다.
안드로이드에서는 4대 컨포넌트인 Activity, Service, BroadcastReceiver, ContentProvider 가 있습니다. 하지만 이게 견주어도 결코 떨어지지 않는 중요도를 가진 것이 바로 Fragment 입니다!
Fragment 는 한 액티비티 위에 여러가지 화면을 보여줄수 있습니다. 단지 뷰랑 다르게 프로세스를 따로 이용하기에 화면 구성에 사용하기 굉장히 좋은 컴포넌트입니다.
사용법을 알아볼까요?
1. 먼저 레이아웃을 만들어 줍니다.
- fragment_test01.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="test1"
/>
</LinearLayout>
- fragment_test02.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="test2"
/>
</LinearLayout>
2. Fragment 클래스를 만들어 줍니다.
- TestFragment1.java
public class TestFragment1 extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_test01, container, false);
}
}
- TestFragment2.java
public class TestFragment2 extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_test02, container, false);
}
}
3. Activity 가 사용할, 즉 Fragment 가 속해있는 레이아웃을 만듭니다.
- activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.test.fragment.TestFragment1
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/test_02"
/>
<com.test.fragment.TestFragment2
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/test_01"
/>
</FrameLayout>
4. 마지막으로 Activity 클래스를 생성해줍니다.
- MainActivity.java
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fm = getFragmentManager();
TestFragment1 frag1 = (TestFragment1)fm.findFragmentById(R.id.test_01);
TestFragment2 frag2 = (TestFragment2)fm.findFragmentById(R.id.test_02);
}
}
참쉽죠잉~?
'Development > Android' 카테고리의 다른 글
[안드로이드] Android Daum 웹,앱 연동 및 검색스키마 사용! (0) | 2015.10.15 |
---|---|
[안드로이드] Android Naver 웹,앱 연동 및 검색스키마 사용! (0) | 2015.10.14 |
[안드로이드] Android Bitmap byte[] 변환 (0) | 2015.10.12 |
[안드로이드] Android SQLite - 2 Handler 클래스 (0) | 2015.10.11 |
[안드로이드] Android SQLite - 1 Helper 클래스 (0) | 2015.10.10 |
댓글