[안드로이드, Java] View 동적으로 addView() 하고 마진 적용 하는 방법

2022. 8. 2. 18:23·정리 전 게시글/공부 관련

제목 : View 동적으로 addView() 하고 마진 적용 하는 방법


안드로이드 공부를 하면서 앱을 만들고 있는데 동적으로 View를 추가 한 후 실행을 해보니 마진이 제대로 적용되지 않는 버그가 있었다 알고보니 addView()를 하고 다시 마진을 적용해줘야 한다고 한다.

 

 

일단 마진을 적용할 사이즈를 dimens.xml에 미리 정의해야한다. 코드상 20이 20dp가 아니기 때문이라고 한다

 

for(WordsItem item : listItem) {
            View v = View.inflate(requireContext(), R.layout.words_items, null);
            
            LinearLayout words_items_linear_layout = (LinearLayout) v.findViewById(R.id.words_items_linear_layout);	// 뷰들을 넣을 리니어 레이아웃
			
            //~~~~
            
            linearLayout.addView(v);	// add
         

            int size = getResources().getDimensionPixelSize(R.dimen.words_margin);	// 미리 정의한 dp 사이즈를 불러옴

			// 아래부분이 추가할 코드
            ViewGroup.MarginLayoutParams margin = new ViewGroup.MarginLayoutParams(words_items_linear_layout.getLayoutParams());
            margin.setMargins(0, size, 0, size);
            words_items_linear_layout.setLayoutParams(new LinearLayout.LayoutParams(margin));
        }

 

 

왼쪽이 코드를 추가하기 전 오른쪽이 코드를 추가 한 후

 


https://neoroid.tistory.com/42

 

Android Margin/Gravity 등 속성 주기 (Code)

LinearLayout layout; void addGroupName(String strGroupName){ TextView tvGroupName = new TextView(this); tvGroupName.setText("텍스트를 지정합니다."); //텍스트뷰의 텍스트를 지정해줍니다. tvGroupName.s..

neoroid.tistory.com

https://realjune.tistory.com/17

 

[안드로이드/Android] getDimension(), getDimensionPixelSize() 함수 차이점

개발을 진행하다보면 dimens.xml에 미리 정의해 놓은 dp단위의 value 값을 Java 코드에서 px 단위로 변환하여 사용해아 할 때가 종종 있습니다. 이런 경우 getDimension() 또는 getDimensionPixelSize() 함수를 사..

realjune.tistory.com

 

저작자표시 (새창열림)

'정리 전 게시글 > 공부 관련' 카테고리의 다른 글

[안드로이드, Java] 리사이클뷰 아이템 마진 적용하기, RecyclerView Item Margin  (0) 2022.08.03
[프로그래머스 Level 2, C++] 최댓값과 최솟값  (0) 2022.08.03
[프로그래머스 Level 2, C++] 가장 큰 수  (0) 2022.07.29
startActivity(intent); 팅김 오류 해결법  (0) 2022.07.28
[프로그래머스 Level 1, C] 직사각형 별찍기  (0) 2022.07.27
'정리 전 게시글/공부 관련' 카테고리의 다른 글
  • [안드로이드, Java] 리사이클뷰 아이템 마진 적용하기, RecyclerView Item Margin
  • [프로그래머스 Level 2, C++] 최댓값과 최솟값
  • [프로그래머스 Level 2, C++] 가장 큰 수
  • startActivity(intent); 팅김 오류 해결법
aptenia
aptenia
공부하면서 배운 것들
  • aptenia
    새벽의 아이디어
    aptenia
  • 전체
    오늘
    어제
    • 분류 전체보기 (279)
      • 논문 (0)
      • Roboracer (2)
      • 개발 아무거나 (1)
      • 일상 아무거나 (2)
      • 정리 전 게시글 (268)
        • 개발 관련 (25)
        • 정보 관련 (19)
        • 공부 관련 (224)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 네이버 블로그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    반복하지않는수
    마인크래프트강화스크립트
    자바
    마크
    마크스크립트
    이것이자바다확인문제
    C++강좌
    티스토리스킨편집
    마인크래프트
    마인크래프트스크립트
    이것이자바다연습문제
    C언어강좌
    프로그래머스PCCE
    티스토리반응형2스킨편집
    파이어베이스
    공개SW개발자대회
    일본규슈공업대학교
    스크롤바CSS
    C언어
    캡스톤디자인
    이것이자바다
    빅데이터공모전
    티스토리HTML
    파이썬
    안드로이드
    콜라츠추측
    c언어초보
    컨텍스트스위칭
    백준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
aptenia
[안드로이드, Java] View 동적으로 addView() 하고 마진 적용 하는 방법
상단으로

티스토리툴바