์กํฐ๋นํฐ์ ๊ธฐ๋ณธ ๋ ์ด์์์ LinearLayout์ผ๋ก ๋ณ๊ฒฝ
๊ธฐ๋ณธ horizontal๋ฅผ vertical์ผ๋ก ๋ณ๊ฒฝ
LinearLayout ์์์ ๋ ๊ฐ ๋ฃ์ด์ฃผ๊ธฐ
๊ฐ๊ฐ fragment ๋ทฐ์ด, fragment ์ ํ ์ญํ ์ ํ ๊ฑฐ์
์ฒซ ๋ฒ์งธ ์์ LinearLayout์ id๋ฅผ Container๋ก ์์
๋ ๋ฒ์งธ์ ์์ LinearLayout์ button๋ค์ ๋ฃ์ด์ค
๊ทธ๋ฐ๋ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ button๋ค์ด ๋ณด์ด์ง ์๋ ๊ฒ์ ๋ณผ ์ ์๋๋ฐ, ์ด๋ Container๊ฐ ๋ถ๋ชจ์ ํฌ๊ธฐ๋งํผ ์ค์ ์ด ๋์ด์์ด์
๋ฒํผ์ ๋ ์ด์์์ด ๋ฐ๋ ค๋ ๊ฒ์
Container์ layout_weight ์์ฑ ๊ฐ์ผ๋ก 1์ ์ค๋ค.
๋ฒํผ ๋ ์ด์์์ layout_height๋ฅผ wrap_content๋ก ๋ณ๊ฒฝํด์ค๋ค.
๊ทธ๋ผ ๋ฒํผ๋ค์ด ์ ๋๋ก ๋์ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
ํ๋ก์ ํธ ์ฐํด๋ฆญ - New - Fragment - Fragment (Blank)
Fragment์ ์ด๋ฆ์ ์์์
์ด์ ์ฌ๊ธฐ์๋ถํฐ ์ค์
Fragment์ ์๋ฐ ํ์ผ์ ๋ณด๋ฉด ๋๋ฌด ์ฝ๋๊ฐ ๋ง์์ ์ด์ง๋ฌ์ด๋ฐ ์ ๋ง์ ๊ฒ ์ค
onCreate์ onCreateView ํด๋์ค๋ง ๋จ๊ธฐ๊ณ ์ ๋ถ ์ง์์ค
fragment์ ๋ทฐ ์กฐ์์ ์ํด์๋ return inflater... ์ด ๋ถ๋ถ์ ์์ ํด์ค๋ค.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_one, container, false);
}
(Before)
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_one, container, false);
return view;
}
(After)
์กํฐ๋นํฐ ์๋ฐ ํ์ผ์ ์๋์ฒ๋ผ ์ถ๊ฐํด์ค๋ค.
OneFragment oneFragment;
SecondFragment secondFragment;
FragmentManager fragmentManager;
FragmentTransaction fragmentTransaction;
Button btn1;
Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
fragmentManager = getSupportFragmentManager();
oneFragment = new OneFragment();
secondFragment = new SecondFragment();
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.addToBackStack(null);
fragmentTransaction.replace(R.id.Container, oneFragment);
fragmentTransaction.commit();
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.addToBackStack(null);
fragmentTransaction.replace(R.id.Container, secondFragment);
fragmentTransaction.commit();
}
});
}
์์ฑ!