안녕하세요
앱을 개발하다보면 이런저런 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을 빼고 다시 컴파일 하여서 테스트 해보시기 바랍니다.
감사합니다.
감사합니다.
layout param으로 굉장히 복잡하게 짰는데 이런 쉬운방법이 있네요..
그래도 이전 버젼 호환을 위해서는 layout param을 계속 써야겠네요ㅜㅜ
아 그리고.. FloatingEditTextItself.java 파일이 없어요~~