2013-07-15 2 views
5

DroidParts의 코드를 주로 사용하는 "ClearableEditText"를 구현했습니다. 텍스트를 지우려면 오른쪽 모서리 (예 : X 버튼)에 EditTextDrawable이 있어야합니다.Droidparts ClearableEditText

기본적으로 DrawableRight 인 단추 리소스에 대한 선택기를 사용하고 있습니다. 완벽하게 작동하지만 유일한 문제는 부모 (EditText)에서 잘못된 프레스 상태가 발생하는 버튼 때문입니다.

재현하려면

  1. 실행
  2. 어디서나 어떤 텍스트/당김을 거기에없는 EditText 내부 첫째 EditText
  3. 보도에 텍스트를 입력 프로젝트.

결과 : selector가 PRESSED 상태가됩니다. 어떤 도움

+0

당신은'안드로이드를 설정하려고 했습니까? –

+0

@deville은 내가 아는 한'EditText'에 추가 할 수있는 속성이 아니며'ViewGroup'에 대해서만 있습니다. – woot

+0

오, 당신은 그것에 대해 확실히 옳습니다. 또 다른 옵션은 선택기를 사용하는 대신 수동으로 드로어 블을 설정하는 것입니다. –

답변

3

는 전체 EditText상의 OnTouchListener을 설정하고 Drawable의 좌표 내에서 ACTION_PRESS을 감지 후있어 무엇을 달성 할 수있는 유일한 방법에 대한

덕분에, 그에 따라 선택을 교체합니다. 이 기술을 사용하고 싶지 않은 경우 사용자 정의 View을 만들어야합니다.이 레이아웃은 둘을 구분하는 레이아웃 (예 : LinearLayout, ImageViewTextView은 자식)으로 구성됩니다. 당신의`EditText`에 descendantFocusability = "blocksDescendants"`:

건배