๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ‘จ๐Ÿผ‍๐Ÿ’ป๊ฐœ๋ฐœ/์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค - fragment ์กฐ์ž‘ํ•˜๊ธฐ

by Janger 2021. 11. 23.
728x90
๋ฐ˜์‘ํ˜•

 

์•กํ‹ฐ๋น„ํ‹ฐ์˜ ๊ธฐ๋ณธ ๋ ˆ์ด์•„์›ƒ์„ 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();
            }
        });


    }

 

 

 

์™„์„ฑ!

 

728x90
๋ฐ˜์‘ํ˜•