당신은 배경 색상이 동적 할 필요가 있다고 말했다. 포인트의 몇 :
- 워드 프로세서에 따르면 (link가) : 당신은 활동 수명주기 동안 발생하는 이벤트에 따라 옵션 메뉴를 수정하려면
, 그렇게에서 할 수있는 onPrepareOptionsMenu() 메소드. 이 메소드는 Menu 객체를 현재 존재하는 그대로 전달하여 객체를 추가, 제거 또는 비활성화하는 등 수정할 수 있도록합니다. (조각은 또한 onPrepareOptionsMenu() 콜백을 제공합니다.)
- MenuInflater 제목과 아이콘을 제외하고 메뉴의 모양을 수정하려고 레이아웃 자원의 태그를 무시합니다.
그래서, 한 메뉴 항목의 모양이 나의 제안은 다음과 같이 미리 정의 된 스타일을 사용하는 것입니다 (개별 항목에 전체 메뉴에 적용 할 수는 없습니다) 응용 프로그램 테마에 의해 결정됩니다 같이
<style name="RedDropDownTheme" parent="AppBaseTheme">
<item name="android:dropDownListViewStyle">@style/RedDropDownListView</item>
</style>
<style name="RedDropDownListView" parent="android:style/Widget.Holo.ListView.DropDown">
<item name="android:background">@color/your_red_color</item>
</style>
색상을 나중에 변경해야하는 경우 공유 환경 설정에 새로운 색상 선택 사항을 저장하고 activity의 recreate() 메소드를 호출 한 다음 새 테마 (setTheme (R.style.different_color_style))를 활동의 onCreate()는 공유 환경 설정의 값을 기반으로합니다.
희망 [이] (http://stackoverflow.com/a/20077381/4101990) 당신을 도울 것입니다 ... –
그건 프로그래밍 방식이 아니기 때문에, 나는 OP가 자바 코드를 원한다고 의심한다. –
예, 프로그래밍 방식으로이 작업을 수행해야합니다 ... – Ramesh