마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

레이아웃관련해서 문득 궁금한게 생겼습니다.

0 추천

일단 그림을 첨부합니다.

아래와 같은 레이아웃을 구현할 경우

한줄한줄을 렐러티브 레이아웃으로 감싸서 구현을 하거든요.

왼쪽의 텍스트뷰가 오른쪽의 버튼기준으로 세로 정중앙에 위치해야 해서..

렐러티브레이아웃 하나로만은 안되는거 같더군요.

그래서 푸시알림              버튼

이렇게 한줄마다 렐러티브 레이아웃으로 일일이 감싸서 구현을 합니다.

지금은 아래 메뉴 줄이 5개니까

5개의 렐러티브 레이아웃을 만들어서 1개의 렐러티브마다 한줄씩 레이아웃을 구성하는거죠..

즉,

전체레이아웃

     - 렐러티브레이아웃1(푸시알림             버튼)

     - 렐러티브레이아웃2(텍스트뷰..)

     - 렐러티브레이아웃3(중요공지알림       버튼)

... 이런식으로 구현하고 렐러티브레이아웃 속성에 센터 버티컬을 줘서 세로정렬을 시킵니다.

더 좋은 방법이 없을까 해서 질문올립니다.

이렇게 구현하는 이유는 말씀드렸듯이

왼쪽에 텍스트뷰가 오른쪽 버튼 기준으로 세로중앙에 위치해야해서

위처럼 각줄마다 렐러티브로 구현하고 센터버티컬 속성을 줘서 해결하고 있습니다.

혹시 더 효율적인 방법 있으면 조언 부탁드립니다.ㅠㅠ 꼭이요

 

갸아악 (21,260 포인트) 님이 2015년 10월 8일 질문

3개의 답변

0 추천
Linear로 주고, height 를 match로 주고 gravity로 center_vertical 하면 될 것 같은데요. 참고로 저는 리니어와 프레임(간혹 테이블이나 그리드)말고 다른 레이아웃은 안씁니다ㅎㅎㅎ weight를 줘서 제작하고, nested되어서 warning 뜨긴 한데 뭐 요즘 기기가 워낙 좋으니 무리가 있겠어? 라는 생각을 가지고 개발합니다...;;;
길버트공원 (1,720 포인트) 님이 2015년 10월 8일 답변
0 추천
일반적으로 리스트 뷰의 형태가 다 그런식으로 구현이 될 건데요.. 저도 개선방안이 궁금하네요 ^^
mcsong (44,040 포인트) 님이 2015년 10월 8일 답변
0 추천
전체레이아웃

     - 리니어레이아웃1

          =리니어1(푸시알림), 리니어2(          ), 리니어3 (버튼) 비율로 조정

     - 렐러티브레이아웃2

          =리니어(텍스트뷰..)

     - 렐러티브레이아웃3

          =리니어1(중요공지알림), 리니어2(       ), 리니어3(버튼) 비율로 조정

 

이게 리스트 뷰가 아니라 레이아웃으로 제작하는 설정같은 경우 해상도마다 layout 만들지 않을 경우

가장 최적으로 마춰집니다.

단 텍스트 dp, 이미지 wrap, EditText 없다는 조건
쭈쭈총각 (17,750 포인트) 님이 2015년 10월 8일 답변
...