2012-07-12 5 views
1

내 질문의 제목이 이미 답변 된 질문처럼 들리는 것을 알고 있습니다. 그러나 내 질문은 어떻게 든 다르며 해결책을 찾지 못했습니다.edittext의 포커스가있는 상태에서 배경 이미지를 변경하는 방법

내 앱에는 두 개의 EditText가있는 로그인 화면이 있습니다. Theme.Holo.Light의 수정 된 버전을 사용합니다.

EditTexts는 다음과 같다 :

EditText of Theme.Holo.Light

서로 다른 색상의 텍스트 아래에 테두리가 글고의 상태에 따라,이 볼 수 있듯이.

여기 내 질문이 있습니다. 누구나이 경계의 색상을 변경하는 방법을 알려주실 수 있습니까 ??

누구든지 나를 도울 수 있기를 바랍니다. 미리 감사드립니다!

편집 :

불행하게도, 내가 다른 문제에 달렸다는 :

나는 dtmilano의 솔루션을 사용하여 배경 이미지를 변경 할 수 있었다. 그러나 StateListDrawable을 추가하면 EditView의 패딩이 제거되었습니다. 텍스트를 추가하면 커서는 이전과 같이 표시된 테두리 안에 있지 않고 가장 왼쪽에 있습니다. 지금까지이 패딩을 도입 할 수 없었습니다. 안드로이드 : paddingLeft.

<EditText 
     android:id="@+id/loginEmail" 
     android:background="@drawable/edittext_modified_states" 
     android:inputType="textEmailAddress" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 

답변

1

당신은 테마에 글고의 배경으로 StateListDrawable을 사용해야합니다

사람이 선택

<?xml version="1.0" encoding="utf-8"?> 
    <selector 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     > 
     <item 
      android:state_pressed="true" 
      android:drawable="@drawable/edittext_pressed" 
      /> <!-- pressed -->  
     <item 
      android:state_focused="true" 
      android:drawable="@drawable/edittext_focused" 
      /> <!-- focused -->  
     <item 
      android:drawable="@drawable/edittext_default" 
      /> <!-- default --> 
    </selector> 

이 같은 글고을 사용하여 덮어있어 어떤 속성이 말해 줄 수 그래서 당신은 다른 상태를 처리 할 수 ​​있습니다.

+0

트릭을 많이 주셔서 감사합니다. – didhavn

+0

불행히도 다른 문제가 발생하여 제 질문을 수정했습니다. 나 좀 도와 줄 수있어, 딜 미라 노? – didhavn

+0

[9 패치] (http://developer.android.com/reference/android/graphics/NinePatch.html)를 사용하면 어디서 컨텐츠를 가져올 지 지정할 수 있습니다. –

관련 문제