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

코드생성 버튼 길이 설정할때

0 추천
1.
int width = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 400, getResources().getDisplayMetrics());
 
2.
int width = 400;
 
//설정
Button button= new Button(iContext);
button.setWidth(width );
 
1번과 2번 했을떄 값이 다른데요 무슨차인가요?
 
익명사용자 님이 2014년 9월 24일 질문

1개의 답변

0 추천
 
채택된 답변
dp 로 입력하느냐 px 로 입력하느냐 차이요
aucd29 (218,390 포인트) 님이 2014년 9월 24일 답변
답변 감사합니다. 그럼.. 400dp를 넣고싶을때는 어떻게 해야하나요..?
(int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 400, getResources().getDisplayMetrics());
하면 900이넘는 숫자가 나오던데...
저는 보통 이렇게 합니다.
public static float dpToPixel(Context context, float dp) {
        return dp * context.getResources().getDisplayMetrics().density;
    }

    public static int dpToPixelInt(Context context, float dp) {
        return (int)(dp * context.getResources().getDisplayMetrics().density);
    }


dp 값을 넣으면 pixel 로 변환되는데 이 값을 넣으면 dp 가 적용되는 것 이죠

button.setWidth(dpToPixel(context, 400));
오오! 추가 질문에도.. 답변 감사합니다..
...