반응형

ImageView나 Drawable setColorFilter 함수를 사용하여 이미지에 색상을 입힐 수 있다.

setColorFilter(Color.RED) - 이미지에 투명을 제외한 부분에 색상을 입힌다. 

두번째 인자로 Mode를 받는데 이 모드에 따라서 색상이 어떻게 입혀지는지 결정 된다.

한번씩 사용해서 어떻게 적용되는지 확인해보면 좋다. 

public enum Mode {
    CLEAR       (0),
    SRC         (1),
    DST         (2),
    SRC_OVER    (3),
    DST_OVER    (4),
    SRC_IN      (5),
    DST_IN      (6),
    SRC_OUT     (7),
    DST_OUT     (8),
    SRC_ATOP    (9),
    DST_ATOP    (10),
    XOR         (11),
    DARKEN      (16),
    LIGHTEN     (17),
    MULTIPLY    (13),
    SCREEN      (14),
    ADD         (12),
    OVERLAY     (15);
}

참고로 이미지부의 setColorFilter를 사용하면 백그라운드에는 적용 되지 않는다.

백그라운드에도 적용 시키려면 별도로 background drawable에 colorFilter를 적용 하면 된다.

val backgroundDrawable = binding.btnFlash.background
backgroundDrawable.colorFilter = PorterDuffColorFilter(Color.YELLOW, PorterDuff.Mode.SRC_IN)
binding.btnFlash.background = backgroundDrawable

 

반응형

'개발정보' 카테고리의 다른 글

Android Handler와 View.post() 차이점  (0) 2019.12.16
[Android] adb로 apk추출하기  (0) 2016.02.29
java application 실행 방법 및 export 방법  (0) 2016.01.08
Transition Animation  (1) 2015.12.28
Posted by 곡물스토리
,
반응형

안드로이드에 쓰레드간 통신으로 Handler를 사용한다
특히 별도의 쓰레드에서 작업을 하다가 UI쓰레드에서의 작업이 필요 할 때 사용한다.

Handler를 직접 생성 하여 사용 하는 방법과 View에 있는 post함수를 사용하는 방법이 있는데 겉보기에는 둘의 차이가 거의 없다 그냥 뷰 안에 핸들러를 들고 있믄 것으로 보인다
그럼 무슨 차이가 있을까?

바로 뷰의 어태치 상태를 확인 하여 어태치 되지 않았을 때는 핸들러가 동작하지 않도록 되어 있다
뷰를 생성한 후에 무언가를 동작할 때 타이밍 이슈가 발생하는데 이럴때 이를 잘 이용하면 좀더 쉽게 해결할 수 있다

반응형

'개발정보' 카테고리의 다른 글

Android 이미지에 컬러 적용 ColorFilter  (0) 2021.12.04
[Android] adb로 apk추출하기  (0) 2016.02.29
java application 실행 방법 및 export 방법  (0) 2016.01.08
Transition Animation  (1) 2015.12.28
Posted by 곡물스토리
,
반응형

널 체크후 바로 리턴하여 코드를 간결하게 할 수 있다
fun doing(str String?) {
str ?: return
...
}

그외에도함수를 호출 할 때 해당 함수에 들어가는 변수들을 널체크를 하여 리턴하는 문법을 쓸수 있다
fun main() {
val str? = null
doing(str ?: return)
}

 

반응형
Posted by 곡물스토리
,