Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 개발 포지션 변경
- spring responseEntity response stackTrace
- 운영체제 공룡책
- spring exceptionHandler response cause
- spring exceptionHandler reposnse stackTrace
- spring sql injection
- spring 동적 쿼리 주의사항
- 백엔드 포지션 변경
- spring sql injection 방지
- 운영체제 커널모드
- Android Timer
- spring exception stackTrace remove
- spring responseEntity response cause
- android 타이머
- 운영체제 다중모드
- 운영체제 작동방식
- OS 자원관리
- spring paging sort sql injection
- ec2 scp 파일 전송
- 개발 직무 변경
- spring exception cause remove
- IT 포지션 변경
- 백엔드 직무 변경
- spring dynamic query sql injection
- 운영체제 자원관리
- aws ec2 scp 파일 전송
- 운영체제 멀티 프로그래밍
- 운영체제 멀티 태스킹
- IT 직무 변경
- 운영체제 개념
Archives
- Today
- Total
오늘도 삽질중
Android Gradient rounded corner programmatically 본문
반응형
Multi Gradient 또는 단일 Gradient 를 주고 싶거나
모서리에 라운딩이 필요한경우 유용하게 사용할수 있다
xml
<View
android:id="@+id/bg_view"
android:layout_width="120dp"
android:layout_height="120dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
kt
fun View.bgMultiGradient(colorArray: IntArray, positionArray: FloatArray , rounded: Float = 0f) {
val sf = object : ShapeDrawable.ShaderFactory() {
override fun resize(width: Int, height: Int): Shader {
val g = LinearGradient(
0f, 0f, 0f, this@bgMultiGradient.height.toFloat(),
colorArray, positionArray, Shader.TileMode.CLAMP
)
return g
}
}
val r = TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP ,
rounded ,
this.resources.displayMetrics)
val paintDrawable = PaintDrawable().apply {
shape = if (rounded == 0f) RectShape()
else RoundRectShape(
floatArrayOf(
r,r,r,r,r,r,r,r
),null,null
)
shaderFactory = sf
}
background = paintDrawable
}
사용예시
binding.bgView.bgMultiGradient(
intArrayOf(Color.GREEN, Color.YELLOW, Color.RED, Color.BLACK),
floatArrayOf(0f,0.45f,0.78f,1f),
20f
)
결과화면
반응형
'안드로이드' 카테고리의 다른 글
Android Compose Scroll Bottom Button (0) | 2022.01.04 |
---|---|
Android Compose TextField 를 쓰다가 네이티브로 변경한 이유 (0) | 2021.12.29 |
Android View 의 절대좌표가 맞지 않을경우 (0) | 2021.12.21 |
Android Fragment Save State (0) | 2021.12.18 |
Android PopupMenu 백그라운드+텍스트 컬러 변경 (0) | 2021.12.18 |
Comments