본문 바로가기

안드로이드

LayoutParams 설정 시 DP 단위로 바꾸기

728x90

gradle 추가 

//sdp ssp
implementation 'com.intuit.ssp:ssp-android:1.0.6'
implementation 'com.intuit.sdp:sdp-android:1.0.6'

 

이런 식으로 사용 

android:layout_width="match_parent"
android:layout_height="@dimen/_29ssp"
android:layout_marginRight="@dimen/_9sdp"
android:layout_marginLeft="@dimen/_9sdp"
android:layout_marginTop="@dimen/_6sdp"

 

p.s  만약 설정된 width 값과 height 값을 동적으로 바꾸고 싶을 때
LayoutParam 의 width 와 height 은 xml의 width 와 height 과 다름으로 따로 설정을 해줘야 된다 . 

 

아래처럼 설정을 해줘야 xml 의 dp 처럼 사용이 가능하다 . 

val width = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
240f, context.getResources().getDisplayMetrics()).toInt()

//240f를  dp 단위로 바꾼다. 

  val LayoutParams = RelativeLayout.LayoutParams (width, MATCH_PARENT)

 

LayoutParam 에서 sdp 를 사용하고 싶을 때 ! 아래와 같이 코드를 적어주면 됨 . 

val width =appContext!!.resources.getDimensionPixelSize(R.dimen._100sdp),

val LayoutParams = RelativeLayout.LayoutParams (width, MATCH_PARENT)

'안드로이드' 카테고리의 다른 글

안드로이드 스튜디오 인터넷 연결 모니터하는 법.  (0) 2022.02.23
라운드 테두리 설정 .  (0) 2022.01.27
Kotlin 기본 문법 정리  (0) 2022.01.21
SoundPool 사용법  (0) 2022.01.20
ViewFlipper 사용법(feat.Glide)  (0) 2022.01.12