2013-06-04 4 views
4
내가 ActionBarSherlock의 SearchView에서 텍스트의 색상을 변경하려면

와 액션 바에서 SearchView의 색상, 그래서에 유래에서이 발견은 :텍스트 ActionBarSherlock의

AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text); 
searchText.setHintTextColor(getResources().getColor(R.color.white)); 
searchText.setTextColor(getResources().getColor(R.color.white));  

그러나 문제는 searchText는 항상 null 것입니다. 또한 나는 search_src_text (no abs__)으로 시도했다. 다시 searchTextnull이다.

내 ActionBar (작업 표시 줄에 대한 사용자 정의보기 사용)에 Sherlock을 사용하지만 검색보기의 텍스트 색을 변경해야합니다.

내가 얻지 못하는 것은 무엇입니까?

+0

레이아웃이 좋아하고 앱이 안드로이드의 버전을 실행에 좀 어때? 프로그래밍 방식으로 할당하는 대신 사용자 지정 스타일을 추가하고 적용하는 것이 일반적입니다. 'abs __... '식별자는 허니컴 전 (前) 디바이스에서만 (잠재적으로) 유용합니다. – Trinimon

+0

내 액션 바의 커스텀 뷰 레이아웃은 두 개의 이미지 뷰가 포함 된 간단한 LinearLayout입니다. Android를 실행하면 4.2 .. – user584513

+0

http://stackoverflow.com/questions/11085308/changing-the-background-drawable-of-the-searchview-widget 확인하십시오 –

답변

7

변경하고 다음과 같이 스타일을 적용

  1. 덮어 쓰기 SearchViewStyle 관련 스타일을 정의합니다.

    <style name="SearchViewStyle" 
         parent="Widget.Sherlock.Light.SearchAutoCompleteTextView"> 
        <item name="android:textColor">myTextColor</item> 
    </style> 
    
  2. 앱 테마에이 스타일 정의를 추가하십시오.

    <style name="CustomTheme" parent="Theme.Sherlock.Light"> 
        ... 
        <item name="searchAutoCompleteTextView">@style/SearchViewStyle</item> 
        ... 
    </style> 
    
  3. 은 (android:theme="CustomTheme") 매니페스트에서이 테마를 적용합니다.

희망이 있습니다 ... 건배!

p.s.SearchViewStyle을 ABS 스타일 정의 (XML 파일)로 검색하십시오. 이렇게하면 Ctrl + 클릭하여 정의를 통해 사용 가능한 스타일을 따라갈 수 있습니다.

+0

커서를 가져 오는 방법에 대한 조언 백인일까요? – QED

+1

본 적이 있습니까 : http://stackoverflow.com/questions/5382571/display-cursor-in-autocompletetextview-android-honeycomb-action-bar 또는 그 중 하나 : http://stackoverflow.com/questions/15527420/custom -cursor-color-in-searchview? – Trinimon

+0

고마워요. 고마워요. – QED

0

다른 방법으로, 나를 위해 일

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
     searchView = new SearchView(getSupportActionBar().getThemedContext()); 

     AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text); 
     searchText.setTextColor(Color.BLACK); 
..................... 
} 
관련 문제