반응형
코드를 이용해서 변환하는 방법이 있긴 하지만,
관리측면에서보면 깔끔하지 못한 것 같다.
깔끔하게 관리하는 측면에서 한가지 팁을 소개한다.
dimensions.xml 을 활용하자.
여기에는 dp 값을 저장해서
소스코드로 불러와서 쓸 수 있게 되어있다.
이걸 쓰면 핸드폰 규격에 맞게 안드로이드에서
자동으로 변환해주므로,
굳이 코드를 이용해서 변환을 해줄 필요가 없다.
dimensions.xml이 없다면 res>values 밑에 파일을 새로 생성해서
사용하면 된다.
dimensions.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="length">20dip</dimen>
<dimen name="cart_p_ea_margin">4dp</dimen>
<dimen name="cart_p_text_margin">8dp</dimen>
<dimen name="cart_p_ea_text_margin">16dp</dimen>
<dimen name="edit_top_margin">2dp</dimen>
<dimen name="btn_ea_width">32dp</dimen>
<dimen name="btn_ea_height">48dp</dimen>
<dimen name="edit_ea_width_height">38dp</dimen>
<dimen name="cart_group_height">100dp</dimen>
</resources>
dip, dp는 동일한 것으로
둘 중 어느 것으로 해도 상관 없다.
소스 코드에는 다음과 같은 형식으로 불러온다.
(int)형변환이 없이 불러오게 되면 float타입으로
리턴이 되기 때문에 int형변환이 필요하다.
int cart_p_ea_margin = (int)getResources().getDimension(R.dimen.cart_p_ea_margin);
이렇게 사용하면 변환하는 코드를 쓸 필요없이
변환이슈가 해결된다.
반응형
'호구지책 > Java/Android ' 카테고리의 다른 글
[자바] The method readLine() from the type DataInputStream is deprecated (0) | 2016.07.21 |
---|---|
[자바] 숫자 세자리 콤마 (0) | 2016.07.06 |
[안드로이드] ArrayList 에서 remove 사용 시 에러 발생 (0) | 2016.07.05 |
[java] NoRouteToHost 호스트로 갈 루트가 없음 에러 (0) | 2016.06.15 |
[안드로이드] 이클립스 실행오류 (0) | 2016.05.19 |
[안드로이드] 옵션 메뉴 처리하기 (0) | 2015.12.01 |
[안드로이드] 메모리 릭 (0) | 2015.10.21 |
[안드로이드] 사진 중복 저장 이슈 (0) | 2015.09.01 |
댓글