안드로이드

안드로이드앱 동적 버튼 생성과 버튼 파라미터 설정

톰이야요 2023. 8. 31. 08:00

현재 운영중인 앱의 디자인을 변경하려고 이것저것 건드려보고 있는 중입니다. '콩콩데이터' 앱은 초창기 개발한 앱이라서 코드가 예전 스타일로 만들어져 있고, 안드로이드스튜디오에 익숙치 않아 삽질로 만든 코드가 제법 있습니다. 그래서 작은것 하나 바꾸더라도 일이 커지는 경우가 있는데...

 

 

동적버튼 생성

int buttonMargin = 15;
        LinearLayout.LayoutParams buttonlayoutParams = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT
        );
        buttonlayoutParams.setMargins(buttonMargin,buttonMargin,buttonMargin,buttonMargin);

상단에 공통으로 들어갈 파라미터를 설정합니다. 마진을 적용시키려 시작했던건데, 위와 같이 만들면 됩니다.

 

 

button1 = new Button(getActivity());
                button1.setTextColor(getResources().getColor(R.color.colorDataListText));
                button1.setBackgroundColor(getResources().getColor(R.color.colorCompanyDataListBtn_API));
                button1.setText(R.string.customs_tradestat);
                button1.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        ((MainActivity)getActivity()).GoFragment("customs_tradestat", "balance");
                    }
                });
                button1.setLayoutParams(buttonlayoutParams);
                linearLayout.addView(button1);

버튼을 생성하는 부분에서는 위와 같이 만들면 됩니다. 버튼의 색상, 글자색상 등을 미리 설정하고, 텍스트와 클릭이벤트를 정의했습니다. 그리고 마지막에 파라미터를 세팅한 후, addView 를 통해 동적생성을 마무리 합니다.

 

 

*버튼의 모서리를 둥글게 만들고 싶어서 이것저것 시도해보다 실패했습니다. 다음번에 성공하면 다시 올리도록 하죠!