반응형

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 곡물스토리
,
반응형

apk를 추출하는 방법

기본적인 adb셋팅이 다 되있다는 가정하에 진행

터미널에서
//adb 기기 접속
$ adb shell
//연결된 기기에 설치된 package 보기
$ pm list packages -f
//원하는 package 내용 복사
/data/app/com.example.test-1.apk=com.example.test
위 내용중 
/data/app/com.example.test-1.apk 만 복사

//shell 빠져 나돈다
$ exit
//pull로 추출

$ adb pull /data/app/com.example.test-1.apk
1339 KB/s (21955 bytes in 0.016s)


pull로 해당 경로 apk를 추출한다.
apk파일은 사용한 위치에 저장된다. 
 

반응형
Posted by 곡물스토리
,
반응형

안드로이드와 PC를 연결하여 PC원격 조종


컴퓨터로 동영상을 많이 보게 되는데 이때 침대에 누워서 동영상을 보다 컴퓨터를 조작해야 하는 순간이 온다. 그럴 때마다 일어나서 컴퓨터 앞에 않아야 하는 번거로움을 해결하기 위해 만들게 되었다.


서버와 클라이언트의 소켓으로 연결하여 안드로이드 앱에서 정보를 보내 서버에서 받아 PC를 조작하는 방식이다.


Server : java application

서버는 자바 애플리케이션으로 제작 하였으며 자바의 swing으로 UI를 구성 하였으며 Robot 클래스로 실질적인 PC컨트롤을 하게 된다.

Jar 파일로 되어 있으며 java를 이용하여 실행하면 된다.


* jar 파일 실행 방법을 모른다면 http://jhson5183.tistory.com/5 를 참고 하자.


Client : Android

클라이언트는 안드로이드앱으로 제작 하였으며 터치패드를 이용해 마우스를 움직이는 정보를PC에 전달한다. 그 외에 동영상 관련 단축키(앞뒤이동 및 소리 컨트롤)들이 몇가지 들어 있다. 

실행 시킨 PC의 IP를 입력하여 연결하면 PC와 연결된다 이때 주의점은 공유기로 PC가 연결되어 있다면 공유기 내부 IP를 꼭 확인 해야 하며 모바일 또한 공유기망을 사용해야 한다.


Client Code : https://github.com/jhson5183/MouseControl.git

Server Code or jar :https://github.com/jhson5183/MouseControlServer.git 

반응형

'오픈소스' 카테고리의 다른 글

AutoRollingViewPager  (0) 2015.12.30
DragAndDropGridView  (0) 2015.12.28
Posted by 곡물스토리
,

AutoRollingViewPager

오픈소스 2015. 12. 30. 12:04
반응형

AutoRollingViewPager


좌우 반복이 가능한 ViewPager 입니다.

1,2,3 이 순서대로 ViewPager에 들어가 있다면 

3->1->2->3->1 순으로 스와이프가 가능합니다.


추가 기능

  • 자동 스와이프
  • 현재 위치가 표시되는 인디케이터
  • 메모리 최적화를 위한 스와이프 하여 보이지 않는 뷰는 삭제

소스 코드 : https://github.com/jhson5183/ViewPagerIndicator.git

반응형

'오픈소스' 카테고리의 다른 글

안드로이드와 PC를 연결하여 PC원격 조종  (0) 2016.01.08
DragAndDropGridView  (0) 2015.12.28
Posted by 곡물스토리
,

DragAndDropGridView

오픈소스 2015. 12. 28. 16:09
반응형

DragAndDropGridView

그리드뷰를 상속 받아 만든 드래그앤드롭 뷰이다.

하나의 아이템을 롱클릭하여 화면에 띄우고 원하는곳으로 이동하여 옮기는 기능이 있는 그리드뷰이다.

오픈소스이며 아래의 깃허브에서 다운 받을 수 있다.

https://github.com/jhson5183/DragAndDropGridView


반응형

'오픈소스' 카테고리의 다른 글

안드로이드와 PC를 연결하여 PC원격 조종  (0) 2016.01.08
AutoRollingViewPager  (0) 2015.12.30
Posted by 곡물스토리
,