프래그먼트 간략 설명은 다음 링크를 참조 하자.
간단한 예제에 앞서 프로젝트 익스플로러를 보자
아래와 같이 자바파일과 xml파일을 2개로 구성함을 잊지 말자.
counterfragment.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"
android:gravity="center_horizontal"
android:background="#ffff00"
>
<TextView
android:id="@+id/txtcounter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ff0000"
android:textSize="40sp"
android:text="0"
/>
<Button
android:id="@+id/btnincrease"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Increase"
/>
</LinearLayout>
fragment_test.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="아래 영역은 프래그먼트로 생성되었습니다."/>
<!-- fragment 선언시 name에 패키지명.메인클래스명$fragment를 상속받은 클래스명 -->
<fragment
android:name="com.example.ch20_fragment_ex1.FragmentTest$CounterFragment"
android:id="@+id/counterfragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
></fragment>
</LinearLayout>
FragmentTest.java
package com.example.ch20_fragment_ex1;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
public class FragmentTest extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_test);
}
public static class CounterFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
//onCreateView는 프래그먼트의 UI를 처음 그릴때 호출한다.
//그래서 여기서 XML을 이용해서 프래그먼트 UI를 구성해준다.
//container에 전개자를 사용하여 xml을 가져온다
View root = inflater.inflate(R.layout.counterfragment, container, false);
Button btnIncrease = (Button)root.findViewById(R.id.btnincrease);
final TextView textCounter = (TextView)root.findViewById(R.id.txtcounter);
//간단한 버튼 클릭 리스너 달아줌
btnIncrease.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
int count = Integer.parseInt(textCounter.getText().toString());
textCounter.setText(Integer.toString(count + 1));
}
});
return root;
}
}
}
실행 화면
다음과 같이 프래그먼트가 생성됨을 알 수 있다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 - 프래그먼트 인수 전달 (0) | 2015.09.12 |
---|---|
안드로이드 - FragmentManager를 이용한 프래그먼트 추가, 삭제, 교체, 숨김 (0) | 2015.09.12 |
안드로이드 - 프래그먼트 상태 저장하기 (0) | 2015.09.08 |
안드로이드 - 한 화면에 여러 개의 프래그먼트 만들기 (0) | 2015.09.08 |
안드로이드 - 외부 메모리에 앱 설치하기 (0) | 2015.09.08 |
안드로이드 - 윈도우 관리자 활용하기 (0) | 2015.09.05 |
안드로이드 - LayoutInflater를 활용한 레이아웃 겹치기 (0) | 2015.08.30 |
안드로이드 - 타이틀 바 조작하기 (풀스크린 만들기) (0) | 2015.08.30 |