Notice
Recent Posts
Recent Comments
Link
투케이2K
1059. (Android/Java) [간단 소스] 안드로이드 TypedValue.applyDimension dp to px 변환 - interface 인터페이스 클래스 사용 본문
Android
1059. (Android/Java) [간단 소스] 안드로이드 TypedValue.applyDimension dp to px 변환 - interface 인터페이스 클래스 사용
투케이2K 2026. 7. 2. 19:53728x90
반응형
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java / Kotlin

[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java / Kotlin
- 개발 툴 : AndroidStudio
- 기술 구분 : Android / interface / DP
- 사전) 👉 interface 인터페이스 간략 설명
>> interface 클래스에서는 메소드 몸체(내용)을 구현할 수 없고, 헤더(메소드 명)만 정의 후 자식쪽에서 부모 메소드를 재정의해 사용합니다.
>> interface 클래스에 정의 된 메소드를 사용하기 위해서는 @Override를 사용해서 메소드를 재정의하면 됩니다.
>> interface 인터페이스 특징으로는 자바에서 다중 상속을 지원해주는 기능을 수행하고 있습니다.
- 사전) 👉 DP 간략 설명
>> DP (Density Independent Pixel) 는 Android 에서 가장 중요한 단위 중 하나로 화면 밀도에 독립적인 픽셀을 의미합니다.
----------------------------------------
기기 | Density
----------------------------------------
mdpi | 1.0
----------------------------------------
hdpi | 1.5
----------------------------------------
xhdpi | 2.0
----------------------------------------
xxhdpi | 3.0
----------------------------------------
xxxhdpi | 4.0
----------------------------------------
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
// ------------------------------------------------
// 🟦 interface 정의
// ------------------------------------------------
public interface Converter {
Integer convert(Integer value);
}
// ------------------------------------------------
// 🟦 interface 메소드 재정의 수행 및 사용
// ------------------------------------------------
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("TAG", "Click");
Converter dpToPx = new Converter() { // 재정의
@Override
public Integer convert(Integer dp) {
return (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
dp,
mContext.getResources().getDisplayMetrics()
);
}
};
Log.d("TAG", "dpToPx : " + String.valueOf( dpToPx.convert(15) )); // 사용
}
});
// ------------------------------------------------
// 🟦 추가 첨부 코드 : 일반 메소드 형식으로 정의 사용
// ------------------------------------------------
private int dpToPx(int dp) {
return (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
dp,
getResources().getDisplayMetrics()
);
}
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
▶️ 159. (java/자바) 인터페이스 (interface) 메소드 헤더 정의 및 @Override 상속 받은 후 메소드 재정의
https://kkh0977.tistory.com/389
https://blog.naver.com/kkh0977/222243822799?trackingCode=blog_bloghome_searchlist
▶️ 68. (kotlin/코틀린) companion object interface 사용해 인터페이스 메소드 재정의 및 구현 실시
https://kkh0977.tistory.com/2609
https://blog.naver.com/kkh0977/222884608163?trackingCode=blog_bloghome_searchlist
▶️ 113. (java/자바) 추상클래스, 인터페이스 개념 설명 (abstract, interface)
https://kkh0977.tistory.com/146
https://blog.naver.com/kkh0977/222203686130?trackingCode=blog_bloghome_searchlist
▶️ 163. (java/자바) 인터페이스 (interface) 클래스를 implements 다중 상속 받은 후 사용하기
https://kkh0977.tistory.com/425
https://blog.naver.com/kkh0977/222257081095?trackingCode=blog_bloghome_searchlist
▶️ 247. (java/자바) [인터페이스 기반] Anonymous 익명 클래스 사용 방법 정의
https://kkh0977.tistory.com/1611
https://blog.naver.com/kkh0977/222674431875?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
728x90
반응형
'Android' 카테고리의 다른 글
Comments
