linearlayout에 하위뷰를 추가해야 하는 경우가 있다.
여러 개가 추가될 경우 좌우 또는 상하 간격을 동일하게 주기 위해 weight 를 줘야 하는데, ViewGroup을 만들어 Parent 뷰로 묶지 않는 이상
xml 단에서 아무리 weight를 줘도, 제대로 동작하지 않는다.
이 문제를 해결하기 위해서는 뷰를 추가할 때 아래와 같이 LayoutParams를 함께 적용 시켜 주면 된다.
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); layoutParams.weight = 1; viewHolder.linearLayout.addView(this.inflater.inflate(R.layout.view_test_item, null, false), layoutParams); viewHolder.linearLayout.addView(this.inflater.inflate(R.layout.view_test_item, null, false), layoutParams); viewHolder.linearLayout.addView(this.inflater.inflate(R.layout.view_test_item, null, false), layoutParams); viewHolder.linearLayout.addView(this.inflater.inflate(R.layout.view_test_item, null, false), layoutParams); viewHolder.linearLayout.addView(this.inflater.inflate(R.layout.view_test_item, null, false), layoutParams);
'Programming > Android' 카테고리의 다른 글
[Android] Lollipop 버전에서 Support Fragment 화면 갱신이 안될때(ListView, Button 등) (0) | 2017.04.20 |
---|---|
[Android] 스테이터스바 컬러 변경(Change Statusbar Color) (0) | 2017.04.14 |
[Android] 안드로이드 버튼 음영 제거(Remove button shadow on Android) (0) | 2017.04.10 |
[Android] TextSize, 텍스트 사이즈 DIP, DP 코드로 적용 방법 (0) | 2017.03.29 |
[Android] 키보드 위에 레이아웃, 버튼 올리기 (0) | 2016.07.26 |