java 코드로 margin, padding 값 변경하기


안녕하세요~~

자바 코드로 동적으로 버튼을 추가하는 것을 코딩하고 있는데요

아래 사진에 맨 왼쪽의 버튼을 누르면 오른쪽의 버튼들이 생기는 형태입니다.

이미지

그런데 그림에서처럼 TAB0, TAB1, TAB2 버튼들 사이테 간격이 존재하는데 그 간격을 없애고 싶어서 검색해서 해보긴 하였으나 적용이 되지 않아서 질문 올립니다. ㅠㅠ

새로 생기는 버튼은 Button을 extends 해서 만든 Custom 버튼들이고요

그안의 코드에서

 private void init(Context context, String indicator) {
        int width = dpToPx(context, 100);
        int height = dpToPx(context, 48);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, height);
        params.bottomMargin = 0;
        params.leftMargin = 0;
        params.rightMargin = 0;
        params.topMargin = 0;
        this.setLayoutParams(params);
        this.setText(indicator);
        this.setGravity(Gravity.CENTER);
        this.setPadding(0,0,0,0);
    }

무엇이 문제인지...ㅠㅠ


조회수 505


1 답변


좋아요
0
싫어요
채택취소하기

style을이용해서 margin을 없애보세요. 아마 안드로이드 기본 default margin이 있어서 간격이 사라지지 않는것 같습니다.

styles.xml에서 margin을 없애면 버튼의 margin이 사라질거에요. 버튼을 생성하는곳에서 new Button (context, attrs(없으면 null로 넘겨도 됩니다.), R.style.MyApp.Button)이렇게 선언해보세요.

styles.xml
    <style name="MyApp.Button" parent="Base.Widget.AppCompat.Button">
        <item name="android:layout_margin">0dp</item>
    </style>
  • 2016년 05월 15일에 작성됨
    안드로이드, 루비온레일즈

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close