2012-12-01 5 views
1

내 ActionBar에 드롭 다운 탐색 목록이 있습니다. 위치 항목과 현재 선택된 항목에 따라 목록 항목 배경의 배경색을 변경하고 싶습니다.Spinner 드롭 다운 버튼의 배경색 변경

내가 ArrayAdapter를 확장하고 너무 같은 배경 변경 내 자신의 클래스를 만든 : 이것은 그러나 다음과 같은 결과

@Override 
public View getView (int position, View convertView, ViewGroup parent) { 
    View v = super.getView(position, convertView, parent); 
    v.setBackgroundColor(Color.parseColor(VideoGroup.getColorForId(position))); 
    return v; 
} 

@Override 
public View getDropDownView (int position, View convertView, ViewGroup parent) { 
    View v = super.getView(position, convertView, parent); 
    v.setBackgroundColor(Color.parseColor(VideoGroup.getColorForId(position))); 
    return v; 
} 

을 - 실제 목록 항목이 꽤 좋은 보이지만 현재 선택된 한 것을 알 수 하지 않습니다.

내가 여기 Group 1의 배경색은 전체 탐색 버튼의 영역을 채우기 위해 얻을 수있는 방법

?

답변

1

불행히도 Spinner 자체는 이미지이므로 각 색상에 이상적 이미지가 필요하기 때문에 색상을 변경하기가 어려울 수 있습니다. 예를 들어, 삼각형 너머로 텍스트의 배경을 확장 할 수 없습니다. 확실히 할 수는 있지만, 아마도 커스터마이징을하는 것은 의미가있을 것입니다.

spinner.getBackground().setColorFilter(THE_COLOR_GOES_HERE, PorterDuff.Mode.MULTIPLY); 
+0

흠, 나는 거의 그렇게 생각 :

대안 (그리고 어쩌면 간단)보기에 색 마스크를 적용하는 방법은 필터를 사용하는 것입니다. 대체 방법 :이 경우'스피너 '객체는 어디에서 얻을 수 있습니까? 나는'mSpinnerAdapter = new FooAdapter (...)'와'getActionBar(). setListNavigationCallbacks (mSpinnerAdapter, mOnNavigationListener); '를 호출함으로써 설정했다. 그래서 참조 할 수있는 회 전자 객체는 없다. – slhck

+0

오 액션 바에 있습니까? 음, 분명히 그 중 하나를 직설적으로 : http://stackoverflow.com/questions/13343852/can-i-disable-actionbars-navigation-spinner – dmon

+0

그래, 첫 번째 문장에서 언급 : 오, 글쎄, 나는 그때 이것을 남겨주세요. 당신의 도움을 주셔서 감사합니다. – slhck

관련 문제