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

dialog layout 해상도 문제

0 추천
custom dialog를 xml로 만들어서 팝업 처럼 이용을 하려고 합니다.

기종별 해상도에 따라서 팝업(dialog) 크기가 변했으면 좋겠는데 어떻게 되어야 될지 모르겠습니다.

고수님들의 조언 부탁 드리겠습니다.
DBNH (120 포인트) 님이 2015년 5월 12일 질문

3개의 답변

0 추천
음...해보진않아서 잘모르겠지만 팝업크기를 fill 로 주고 마진을 주면 각 해상도에 맞게 동일한크기로 나오지 않을까요?
콜벳 (7,150 포인트) 님이 2015년 5월 12일 답변
답변 감사합니다. fill로 주고 margin 값을 주니 dialog라서 그런지 모르겠는데 크기는 변경이 없고 margin 영역이 검정색으로 변하고 안에 영역은 줄어들더라구요... 물론 background를 투명으로 지정했는데도 변함이 없네요ㅠㅠ
0 추천
xml말고 소스상에서 가로/세로 길이를 변경하는 방법이 있을거에요.

저도 4개의 해상도 하나로 통합할 때 다이얼로그 크기를 xml에서 각각 주지 않고

하나의 xml로 만들되, 소스로 가로세로 길이를 해당 휴대폰의 height,width를 갖고와서 그대로 갖다 쓰거나[전체화면]

구한 값*0.5=>[절반크기] 이런식으로 사용했었어요.
anci (19,950 포인트) 님이 2015년 5월 12일 답변
동적으로 기종의 크기를 구해서 다시 크기를 변경하신다는 말씀같네요...

xml상에서는 처리할 수 있는 방법이 없는걸까요?ㅠㅠ
흠..굳이 xml로 처리하실거면 아마 각 해상도 별로 폴더를 만들어서 커스텀다이얼로그 xml의 가로/세로길이를 지정하셔야할거에요.
일정한 비율로 가로/세로를 지정하실거면 소스하나로 처리하시면 좋지만, 기종별로 크기를 달리 주고 싶으시다면 [A에선 100x200, B에선 300x100 이런식] 여러개를 만드셔야 각각의 폰에 적용될겁니다..
0 추천
검은 영역은 윈도우 영역입니다. 검은 부분 없애고 싶으시면
다이알로그 클래스에서 getWindow().setBackgroundDrawable() 이용해서 투명 ColorDrawable 설정해 주시면 되고,
윈도우 영역 속성을 바꾸고 싶으시면
getWindow().setAttributes() 이용해서 레이아웃 속성 변경해 보세요.
코딩인헬 (12,150 포인트) 님이 2015년 5월 12일 답변
답변 감사합니다 적용해봐야겠네요ㅎㅎ
...