안녕하세요


앱을 개발하다보면 이런저런 View 들이 필요합니다.



그중 하나가 단순 위치 이동 이죠




테스트 프로젝트는 두가지 방식으로 구현한 뷰 이며 터치(드레그)로 뷰를 이동 할수 있습니다.


1. FloatingEditText.java : 예전 어느분이 구현하신 방법 그대로 구현함 (API 11 이상에서 사용 가능)

2. FloatingEditTextItself.java : 다른 방식으로 구현 (API 8 까지 테스트)


둘다 Touch event를 가지고 동작을 하며


1은 layout을 overriding 하는 방식으로 API 11 이전 버젼에서는 final 선언 때문에 동작이 안됩니다.


해당 소스는 예전에 인터넷 검색으로 구한 방식인데 원 출처를 잃어버렸습니다.


죄송합니다!!




2는 layoutparam에서 margin을 이동하는 방법입니다.


getRawX, getRawY를 사용한다는것 말고는 생각하시는 그대로!!!! 입니다.


보통 프로젝트는 API 8 9 정도로 하는데 위 소스에서 VM 에러가 뜨길래 2번 방법을 만들어 보았습니다.


getX, getY로 고생하시는 분들을 위해 프로젝트로 묶어서 올립니다.




사용법은 둘다 Custom View로써 파일 추가 및 xml만 확인하시면 됩니다.


그외 기능 수정은 원하시는대로 하시면 됩니다.



View를 상속받는 녀석들은 위 코드를 다 적용할수 있으며, 현재 올린 View는 EditText 입니다.


3.0 이전을 쓰시는분은 VM 에러가 날수 있습니다.

1번 코드나 XML을 빼고 다시 컴파일 하여서 테스트 해보시기 바랍니다.


감사합니다.