[Android 소스 해석] 사용자 정의 지울 수 있는 입력 상자
다음은 자신의 생각을 말해 봅시다.
1. 우선 사용자 정의 구성 요소 계승edittext
2. 구조 방법을 다시 쓰고 명확한 단추의 작은 아이콘을 초기화하고 위치를 설정합니다
3. 편집 텍스트의 초점 변화를 감청하고 초점 변화에 따라 작은 아이콘을 숨깁니다
4. 작은 아이콘을 다시 쓰는 단추로 이벤트를 클릭
부분 코드를 부착하려면 다음과 같이 하십시오.
/**
* edittext , :
* ( - - ) ( - )
* ,
* by Hankkin at:2015 8 11 16:45:42
* @param event
* @return
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
if (getCompoundDrawables()[2]!=null){
if (event.getAction() == MotionEvent.ACTION_UP){
boolean touchable = event.getX()>(getWidth()-getPaddingRight()-deleteDraw.getIntrinsicWidth())&&
(event.getX() < ((getWidth() - getPaddingRight())));
if (touchable){
setText("");
}
}
}
return super.onTouchEvent(event);
}
/**
*
* by Hankkin at:2015 8 11 16:17:24
* @param isVisible
*/
private void setDeleteVisible(boolean isVisible){
Drawable drawable = isVisible?deleteDraw:null;
setCompoundDrawables(getCompoundDrawables()[0],getCompoundDrawables()[1],drawable,getCompoundDrawables()[3]);
}
/**
* edittext , 0, ,
* by Hankkin at:2015 8 11 16:32:47
* @param v
* @param hasFocus
*/
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus){
setDeleteVisible(getText().length()>0);
}else {
setDeleteVisible(false);
}
}
그리고 저희 xml에서 이 컨트롤을 인용하면 ok입니다.
github 주소:
https://github.com/Hankkin/ClearEditTextDemo.git
소스 주소:
http://download.csdn.net/detail/lyhhj/8991711
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.