먼저, xml을 이용하여, Fragment를 추가하는 방법을 알아봅니다.
굉장히 단순한 예제 입니다.
우리가 만들어볼 화면은 아래와 같습니다.
위 아래 화면이 나누어져 있는 단순한 화면인데요,
이를 Fragment2개를 이용하여, 만들어 봅니다.
1. android sdk 3.0이상을 생성하여, 안드로이드 프로젝트를 생성하여 줍니다.
2. res에 fragment1.xml을 생성하여 줍니다.
[ fragment1.xml ]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Fragment #1"
android:gravity="center" />
</LinearLayout>
2. res에 fragment2.xml을 생성하여 줍니다.
[ fragment2.xml ]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Fragment #2"
android:gravity="center" />
</LinearLayout>
3. 자동 생성된 main.xml의 코드를 바꾸어 줍니다.
[ main.xml ]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment
android:name="fragment.example01.Fragment1"
android:id="@+id/fragment1"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="0dip" />
<fragment
android:name="fragment.example01.Fragment2"
android:id="@+id/fragment2"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="0dip" />
</LinearLayout>
여기서 눈여겨 보아야 할것은, android:name="..." 부분이며, 여기서 나타내는 것은, Fragment클래스의 위치를 나타내 줍니다.
즉, fragment.example01패키지에 Fragment1, Fragment2 자바 파일이 존재하여야 하는 겁니다.
4. Fragment1을 생성하여 줍니다.
[ Fragment1.java ]
package fragment.example01;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Frament1 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment1, container, false);
}
}
여기서, onCreateView는 Activity의 onCreate와 같은 역할을 한다고 보시면 됩니다.
5. Fragment2.java를 생성하여 줍니다.
Fragment2.java
package fragment.example01;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Frament1 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment1, container, false);
}
}
6. 어플리케이션을 실행시킵니다.
그러면, 위에도 올렸던, 그림이, 다음과 같이 짜잔하고 나옵니다.
다음에는, xml을 이용하지 않고, 자바코드에서 fragment를 이용하는 법을 알아 봅니다.
소스코드 :
'Programming > android/tablet' 카테고리의 다른 글
ActionBar에 메뉴 넣기. (0) | 2011.12.24 |
---|---|
Action Bar 숨기기 (3) | 2011.12.24 |
Fragment와 AddToBackStack (0) | 2011.12.24 |
java코드를 이용하여, Fragment사용하기. (0) | 2011.12.04 |
fragment란? (0) | 2011.12.04 |