Android의 EditText보기 안에 아이콘을 추가하는 방법은 무엇입니까?


141

EditText왼쪽 가장자리에 "검색"아이콘을 추가하고 싶 습니까? Facebook Android 앱의 검색 창과 같은?

답변:


433

android:drawableLeftEditText 의 속성을 사용하십시오 .

<EditText
    ...     
    android:drawableLeft="@drawable/my_icon" />

3
확실하지 않은 질문에 대해 죄송합니다. 버튼을 추가하고 싶습니다. 버튼을 클릭하면 조치가 필요합니다
Adham

20
이것은 검색 제목을 감안할 때 내가 예상 한 솔루션이었습니다.
Thomas Ahle

33
또한 drawablePadding속성을 사용하여 패딩을 조정하십시오 .
Ryan R

그 드로어 블 아이콘의 크기는 얼마이며 어떤 폴더에 배치해야합니까?
Kalpesh Lakhani

2
@KalpeshLakhani : 일반적으로 편집 텍스트 및 드로어 블은 Android 디자인 가이드 라인에 따라 32dp 여야합니다. developer.android.com/design/style/metrics-grids.html
Lee Yi Hong

30

marcos가 제안한대로 XML에서 drawableLeft를 설정할 수 있지만 이벤트에 대한 응답으로 프로그래밍 방식으로 설정할 수도 있습니다. 이렇게하려면 setCompoundDrawablesWithIntrincisBounds (int, int, int, int) 메소드를 사용하십시오 .

EditText editText = findViewById(R.id.myEditText);

// Set drawables for left, top, right, and bottom - send 0 for nothing
editTxt.setCompoundDrawablesWithIntrinsicBounds(R.drawable.myDrawable, 0, 0, 0);

이것은 질문에서 명확하게 언급 된 "왼쪽 가장자리"의 아이콘 / 이미지가 아닌 EditText로 배경을 설정합니다.
Paresh Mayani

@Paresh-답변을 삭제 한 이유입니다. 이제 원본 XML 솔루션 외에 프로그래밍 방식 솔루션을 포함하도록 편집했습니다.
Peter Ajtai

1
프로그래밍 방식으로 아이콘을 숨기는 방법? 편집 상자를 클릭하면?
사냥

1
@Hunt- null뷰를 클릭 할 때 coumound 드로어 블을 설정하십시오 .
Peter Ajtai

27

Android의 기본 드로어 블을 사용하려면 다음 @android:drawable/ic_menu_search과 같이 사용할 수 있습니다 .

<EditText android:id="@+id/inputSearch"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawableLeft="@android:drawable/ic_menu_search"
    android:hint="Search product.."
    android:inputType="textVisiblePassword"/>


0

상대 레이아웃을 사용하고 버튼을 텍스트 편집보기의 왼쪽에 맞도록 설정하고 텍스트 뷰의 왼쪽 패딩을 버튼 크기로 설정하십시오. 패딩을 하드 코딩하지 않고는 좋은 방법을 생각할 수 없습니다.

apk 도구 를 사용 하여 facebook apk의 압축을 풀고 레이아웃 파일을 살펴볼 수도 있습니다.


1
나는 디 컴파일이 전체 유럽 연합 (EU)의 예를 들어 많은 나라에서 불법입니다 언급하고 싶습니다 그래서하시기 바랍니다 자르 :
파블 Byszewski

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.