일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 우분투 아파치 ssl
- 리눅스
- Phone Selector
- 전화번호 가져오기
- 우분투 젠킨스 업데이트
- ubuntu
- SMS Retreiver API
- 인증번호 문자
- jenkins war
- 웹서버
- 가상컴퓨터
- 우분투
- jenkins 업데이트
- 아파치
- Firebase
- 젠킨스
- CODEIGNITER
- 우분투 젠킨스
- vim
- 아파치 https 적용
- virtualbox
- 버추얼박스
- Android
- jenkins
- vimrc
- php
- phpMyAdmin
- vi
- 가상머신
- 안드로이드
- Today
- Total
철스토리
ScalableLayout - 비율에 맞춰서 화면 조절 본문
내가 가장 좋아하는 라이브러리 중에 하나!
출처 : https://github.com/ssomai/ScalableLayout/blob/master/README_ko.md#scalablelayout-for-android
------------------------------------------------------------------
안드로이드로 레이아웃을 만들다보면 기기마다 비율이 달라지기 때문에 엄청나게 짜증이 나는일이 발생한다.
16:9에 맞춰서 레이아웃을 잡게되면 16:10 또는 다른 비율에서는 원하는 모습이 아닌 다른 레이아웃이 보이는 경우가 있다.
ScalableLayout을 사용할 경우 이라한 문제를 해소할 수 있다.
가로의 비율에 따라 세로의 비율을 조절하기 때문이다.
이미 여러 앱에서 이 라이브러리를 이용하여 개발한 프로젝트가 여럿 있는것 같다.
추가적으로 ScalableLyaout을 사용하면서 TextView에 WrapContent를 해야하는 경우에는 어떻게 해야할까?
개발자 분께서도 적어주셨는데
sl:textview_wrapcontent_direction="bottom"
sl:textview_wrapcontent_resizesurrounded="true"
sl:textview_wrapcontent_movesiblings="true"
이와 같이 xml에서 적어주는 방법이다.
그런데 이렇게 했을 때 서버에서 데이터를 받아와서 TextView에 뿌려줄 때 자동으로 WrapContent가 되지 않는 현상이 발생하였다.
해결한 방법은 소스상에서 해결하는 방법이다.
서버에서 데이터를 받아서 ScalableLayout 내부의 TextView에 값을 Setting 한 후에 WrapContent_direction설정을 다시한번 적용해 주는 것이다.
String content = "Hello World";
ScalableLayout layout_content;
TextView txt_content;
txt_content.setText(content);
layout_content_txt.setTextView_WrapContent(txt_content, ScalableLayout.TextView_WrapContent_Direction.Bottom, true, true);
위와 같은 방법으로 WrapContent를 소스상에서 설정해 줌으로써 해결 가능하다.
'안드로이드 > 유용한 라이브러리' 카테고리의 다른 글
StickyScrollView - Scrollview 중 일부 타이틀 고정 (0) | 2016.10.05 |
---|---|
TedPermission - 안드로이드 6.0 마시멜로우 권한설정 라이브러리 (0) | 2016.10.01 |
SugarORM - 안드로이드 DB접근을 쉽게 (0) | 2016.09.30 |
Retrofit2 - 서버와 데이터를 주고받는 라이브러리 (작성중) (0) | 2016.09.17 |
Glide - 이미지뷰 관련 라이브러리 (0) | 2016.08.24 |