출처: 202psj.tistory.com //여기
레이아웃을 bottom으로 구성시 위 그림처럼 리스트 레이아웃 부분 가운데 일부분의 영역이 잘못 정해질 수 있다.
이 부분을 해결하기 위해 잘못된 영역의 크기 만큼 margin 마진 값을 더해주면 해결할수 있다.
마진값은 가운데 리스트 아래 레이아웃의 크기 만큼 설정해주면 가운데 리스트 부분이 씹히지 않고
깔끔하게 나올수 있다.
LayoutParams param = null;
this.setBackgroundColor(0xFFD1D1D1);
setOrientation(VERTICAL);
setBackgroundColor(0xffffff00);
setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT));
setGravity(Gravity.BOTTOM);
LinearLayout.LayoutParams par = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT);
par.topMargin = 48; //안나오는 길이만큼 설정, 대부분 다른 레이아웃 길이에 영향을 받으므로 그 레이아웃의 길이를
//더해주면 깔끔하게 나온다.
_list = new CMyGiboList(context);
_list.setLayoutParams(par);
_list.SetListClickListener(new OnItemClickListener()
{
});
this.addView(_list); //현재 레이아웃에 추가
_cmdBar = new CMyGiboCmdBar(context);
_cmdBar.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, 48));
this.addView(_cmdBar); //현재 레이아웃에 추가
//리스트 추가부분
_list.AddList(1, "123-123", "123", "asdasd", "qweqwe");
_list.AddList(2, "223-123", "123", "asdasd", "qweqwe");
_list.AddList(3, "323-123", "123", "asdasd", "qweqwe");
_list.AddList(4, "423-123", "123", "asdasd", "qweqwe");
_list.AddList(1, "523-123", "123", "asdasd", "qweqwe");
_list.AddList(2, "623-123", "123", "asdasd", "qweqwe");
*아래와 같이 씹히지 않고 깔끔하게 나오는 것을 볼 수가 있다.*
또한 xml 에서도 구성시 가운데 레이아웃이 일부분 안나오는 부분이 있으면 마진 margin을 사용하여
안나오는 일부분의 레이아웃을 보정할 수 있다.
'스마트기기개발관련 > 안드로이드 개발' 카테고리의 다른 글
안드로이드 네트워크 패킷 리시브(recv) 또는 이벤트 관련 post,또는 딜레이 처리 팁 (0) | 2013.06.13 |
---|---|
안드로이드 결제, Billing Library Version, 인 앱 결제(In-app Billing) 관련 (0) | 2013.04.03 |
안드로이드 Android 특정 URL로 Web Browser 실행(Hyper Link) (0) | 2013.03.29 |
[안드로이드, android] 안드로이드 앱 구글 마켓 등록 (0) | 2013.03.25 |
안드로이드 사운드 관련 (0) | 2013.02.26 |