마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

xml없이 java로만 프레그먼트

0 추천
package com.example.fragmenttest;

import android.annotation.SuppressLint;
import android.graphics.Color;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Layout;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.LinearLayout;

import static android.graphics.Color.*;

public class MainActivity extends AppCompatActivity {
//    LinearLayout linearLayout;
    @SuppressLint("ResourceType")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        LinearLayout mainLayout = new LinearLayout(this);

        mainLayout.setOrientation(LinearLayout.VERTICAL);

        LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(
                        LinearLayout.LayoutParams.WRAP_CONTENT,
                        LinearLayout.LayoutParams.WRAP_CONTENT);

        // 버튼에 파라미터 설정하고 레이아웃에 추가
        Button button01 = new Button(this);
        button01.setText("교체");
        button01.setLayoutParams(params1);
        mainLayout.addView(button01);

        button01.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });

        FrameLayout childLayout = new FrameLayout(this);

        childLayout.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT));
        childLayout.setBackgroundColor(Color.RED);

        mainLayout.addView(childLayout);
        setContentView(mainLayout);

    }
}

해당 코드처럼 했는데 아직 다완성한건 아니고 frameLayout이 되나 해보려고

이렇게 만들어서 빨간색만 띄워보려 했는데 버튼 하나만 나오고 아무것도 안나오더라구요 ㅠㅠ

어떻게 해야될까요 며칠검색하면서 해봤는데 너무어렵네요

익명사용자 님이 2019년 3월 31일 질문

1개의 답변

0 추천
framelayout의 width 나 hight를 어떤걸로 하셧는지 안보이지만

dp 를 직접넣지않으시거 랩이나 매치로 하셧으면 안나오겟네요

 

프레임 레이아웃안에 들어있는 뷰가 없기때문에 직접 크기를 설정해줘야 나오겟네요

 

방법은 처음 mainlayout 인 linearlayout에 넓이나 높이를 매치로 하시거나

 

또는 프레임 레이아웃의 넓이나 높이를 직접 dp로 넣으시면(ex 100dp) 나올것같네요
youngDad 님이 2019년 3월 31일 답변
...